Skip to content

Commit 0bc9505

Browse files
committed
Copy PaddingSize from rtp.Packet to Header
1 parent 0b0f4ab commit 0bc9505

File tree

2 files changed

+6
-0
lines changed

2 files changed

+6
-0
lines changed

track_local_static.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,11 @@ func (s *TrackLocalStaticRTP) writeRTP(packet *rtp.Packet) error {
194194
for _, b := range s.bindings {
195195
packet.Header.SSRC = uint32(b.ssrc)
196196
packet.Header.PayloadType = uint8(b.payloadType)
197+
// b.writeStream.WriteRTP below expects header and payload separately, so value of Packet.PaddingSize
198+
// would be lost. Copy it to Packet.Header.PaddingSize to avoid that problem.
199+
if packet.PaddingSize != 0 && packet.Header.PaddingSize == 0 {
200+
packet.Header.PaddingSize = packet.PaddingSize
201+
}
197202
if _, err := b.writeStream.WriteRTP(&packet.Header, packet.Payload); err != nil {
198203
writeErrs = append(writeErrs, err)
199204
}

track_local_static_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,7 @@ func Test_TrackLocalStatic_Padding(t *testing.T) {
323323
assert.NoError(t, e)
324324
assert.True(t, p.Padding)
325325
assert.Equal(t, p.PaddingSize, byte(255))
326+
assert.Equal(t, p.Header.PaddingSize, byte(255))
326327
}
327328

328329
onTrackFiredFunc()

0 commit comments

Comments
 (0)