@@ -135,3 +135,55 @@ func Test_RTPTransceiver_SetCodecPreferences_PayloadType(t *testing.T) {
135
135
136
136
closePairNow (t , offerPC , answerPC )
137
137
}
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