@@ -135,3 +135,55 @@ func Test_RTPTransceiver_SetCodecPreferences_PayloadType(t *testing.T) {
135135
136136 closePairNow (t , offerPC , answerPC )
137137}
138+
139+ func Test_RTPTransceiver_SDP_Codec (t * testing.T ) {
140+ tests := []struct {
141+ Label string
142+ setPreferences bool
143+ }{
144+ {
145+ Label : "NoSetCodecPreferences" ,
146+ setPreferences : false ,
147+ },
148+ {
149+ Label : "SetCodecPreferences" ,
150+ setPreferences : true ,
151+ },
152+ }
153+
154+ for _ , test := range tests {
155+ t .Run (test .Label , func (t * testing.T ) {
156+ pc , err := NewPeerConnection (Configuration {})
157+ assert .NoError (t , err )
158+
159+ transceiver , err := pc .AddTransceiverFromKind (
160+ RTPCodecTypeVideo ,
161+ RTPTransceiverInit {
162+ Direction : RTPTransceiverDirectionRecvonly ,
163+ },
164+ )
165+ assert .NoError (t , err )
166+
167+ if test .setPreferences {
168+ codec := RTPCodecCapability {
169+ "video/vp8" , 90000 , 0 , "" , nil ,
170+ }
171+
172+ err = transceiver .SetCodecPreferences (
173+ []RTPCodecParameters {
174+ {
175+ RTPCodecCapability : codec ,
176+ },
177+ },
178+ )
179+ assert .NoError (t , err )
180+ }
181+
182+ offer , err := pc .CreateOffer (nil )
183+ assert .NoError (t , err )
184+
185+ assert .Equal (t , true , strings .Contains (offer .SDP , "apt=96" ))
186+ assert .NoError (t , pc .Close ())
187+ })
188+ }
189+ }
0 commit comments