Skip to content

Commit 8d3fc6d

Browse files
committed
Test encoder with different payload sizes
1 parent 9ab7d95 commit 8d3fc6d

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

pkg/flexfec/flexfec_encoder_03_test.go

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,38 @@ func TestFlexEncoder03_EncodeFec_MissingPackets(t *testing.T) {
6161
result := encoder.EncodeFec(mediaPackets, 1)
6262
assert.Nil(t, result, "EncodeFec should return nil when there are missing packets")
6363
}
64+
65+
func TestFlexEncoder03_EncodeFec_DifferentPayloadSizes(t *testing.T) {
66+
encoder := NewFlexEncoder03(96, 1234)
67+
68+
smallPayload := []byte{1, 2, 3}
69+
largePayload := []byte{1, 2, 3, 4, 5, 6, 7, 8}
70+
71+
mediaPackets := []rtp.Packet{
72+
{
73+
Header: rtp.Header{
74+
SequenceNumber: 1,
75+
SSRC: 1234,
76+
},
77+
Payload: smallPayload,
78+
},
79+
{
80+
Header: rtp.Header{
81+
SequenceNumber: 2,
82+
SSRC: 1234,
83+
},
84+
Payload: largePayload,
85+
},
86+
}
87+
88+
fecPackets := encoder.EncodeFec(mediaPackets, 1)
89+
90+
assert.NotNil(t, fecPackets, "EncodeFec should return FEC packets")
91+
assert.Equal(t, 1, len(fecPackets), "EncodeFec should return 1 FEC packet")
92+
93+
expectedPayloadSize := len(largePayload)
94+
actualPayloadSize := len(fecPackets[0].Payload) - BaseFec03HeaderSize
95+
96+
assert.Equal(t, expectedPayloadSize, actualPayloadSize,
97+
"FEC payload size should match the size of the largest media packet payload")
98+
}

0 commit comments

Comments
 (0)