From 8a376659d157eb4047f829cac597e66bc7e59320 Mon Sep 17 00:00:00 2001 From: boks1971 Date: Tue, 29 Sep 2026 17:08:42 +0530 Subject: [PATCH] Pass extension ID to Marshal during the compatbility phase. Send side needs to send both ids. So, make Marshal take id to make it easier to use. --- datatrack/datatracktest/testutils.go | 3 ++- datatrack/extension_participant_sid.go | 4 ++-- datatrack/extension_participant_sid_test.go | 2 +- datatrack/packet_test.go | 8 ++++---- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/datatrack/datatracktest/testutils.go b/datatrack/datatracktest/testutils.go index ea29b5fa5..86a59838a 100644 --- a/datatrack/datatracktest/testutils.go +++ b/datatrack/datatracktest/testutils.go @@ -20,6 +20,7 @@ import ( "time" "github.com/livekit/protocol/datatrack" + "github.com/livekit/protocol/livekit" ) func GenerateRawDataPackets(handle uint16, seqNum uint16, frameNum uint16, numFrames int, frameSize int, frameDuration time.Duration) [][]byte { @@ -58,7 +59,7 @@ func GenerateRawDataPackets(handle uint16, seqNum uint16, frameNum uint16, numFr Payload: payload, } if extParticipantSid, err := datatrack.NewExtensionParticipantSid("test_participant"); err == nil { - if ext, err := extParticipantSid.Marshal(); err == nil { + if ext, err := extParticipantSid.Marshal(livekit.DataTrackExtensionID_DTEI_PARTICIPANT_SID); err == nil { packet.AddExtension(ext) } } diff --git a/datatrack/extension_participant_sid.go b/datatrack/extension_participant_sid.go index acac8384e..074055222 100644 --- a/datatrack/extension_participant_sid.go +++ b/datatrack/extension_participant_sid.go @@ -36,11 +36,11 @@ func (e *ExtensionParticipantSid) ParticipantID() livekit.ParticipantID { return e.participantID } -func (e *ExtensionParticipantSid) Marshal() (Extension, error) { +func (e *ExtensionParticipantSid) Marshal(extID livekit.DataTrackExtensionID) (Extension, error) { data := make([]byte, len(e.participantID)) copy(data, e.participantID) return Extension{ - id: uint8(livekit.DataTrackExtensionID_DTEI_PARTICIPANT_SID), + id: uint8(extID), data: data, }, nil } diff --git a/datatrack/extension_participant_sid_test.go b/datatrack/extension_participant_sid_test.go index b2a58d04c..5fe168dcc 100644 --- a/datatrack/extension_participant_sid_test.go +++ b/datatrack/extension_participant_sid_test.go @@ -35,7 +35,7 @@ func TestExtensionParticipantSid(t *testing.T) { id: uint8(livekit.DataTrackExtensionID_DTEI_PARTICIPANT_SID), data: []byte{'t', 'e', 's', 't'}, } - ext, err := extParticipantSid.Marshal() + ext, err := extParticipantSid.Marshal(livekit.DataTrackExtensionID_DTEI_PARTICIPANT_SID) require.NoError(t, err) require.Equal(t, expectedExt, ext) diff --git a/datatrack/packet_test.go b/datatrack/packet_test.go index 2f6faded0..a0f1efd3a 100644 --- a/datatrack/packet_test.go +++ b/datatrack/packet_test.go @@ -73,7 +73,7 @@ func TestPacket(t *testing.T) { Payload: payload, } if extParticipantSid, err := NewExtensionParticipantSid("test_participant"); err == nil { - if ext, err := extParticipantSid.Marshal(); err == nil { + if ext, err := extParticipantSid.Marshal(livekit.DataTrackExtensionID_DTEI_PARTICIPANT_SID); err == nil { packet.AddExtension(ext) } } @@ -120,7 +120,7 @@ func TestPacket(t *testing.T) { Payload: payload, } if extParticipantSid, err := NewExtensionParticipantSid("participant"); err == nil { - if ext, err := extParticipantSid.Marshal(); err == nil { + if ext, err := extParticipantSid.Marshal(livekit.DataTrackExtensionID_DTEI_PARTICIPANT_SID); err == nil { packet.AddExtension(ext) } } @@ -166,7 +166,7 @@ func TestPacket(t *testing.T) { Payload: payload, } if extParticipantSid, err := NewExtensionParticipantSid("participant"); err == nil { - if ext, err := extParticipantSid.Marshal(); err == nil { + if ext, err := extParticipantSid.Marshal(livekit.DataTrackExtensionID_DTEI_PARTICIPANT_SID); err == nil { packet.AddExtension(ext) } } @@ -183,7 +183,7 @@ func TestPacket(t *testing.T) { // replace existing extension ID and ensure that marshalled packet is updated if extParticipantSid, err := NewExtensionParticipantSid("test_participant"); err == nil { - if ext, err := extParticipantSid.Marshal(); err == nil { + if ext, err := extParticipantSid.Marshal(livekit.DataTrackExtensionID_DTEI_PARTICIPANT_SID); err == nil { packet.AddExtension(ext) } }