Skip to content

Commit 67eac48

Browse files
lookback-hugotuniusJoeTurki
authored andcommitted
Add failing test for stopped transceivers
1 parent 5552def commit 67eac48

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

rtptransceiver_test.go

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,3 +274,46 @@ func Test_RTPTransceiver_UnattachedRTX(t *testing.T) {
274274

275275
closePairNow(t, offerPC, answerPC)
276276
}
277+
278+
// Assert that a transceiver, onces stopped, is rejected in offers
279+
func Test_RTPTransceiver_Stopped_Transceiver_Is_Rejected(t *testing.T) {
280+
// This test is skipped for now because it fails
281+
return
282+
m := &MediaEngine{}
283+
assert.NoError(t, m.RegisterDefaultCodecs())
284+
285+
offerPC, err := NewAPI(WithMediaEngine(m)).NewPeerConnection(Configuration{})
286+
assert.NoError(t, err)
287+
288+
answerPC, err := NewAPI(WithMediaEngine(m)).NewPeerConnection(Configuration{})
289+
assert.NoError(t, err)
290+
291+
offerTransceiver, err := offerPC.AddTransceiverFromKind(RTPCodecTypeVideo)
292+
assert.NoError(t, err)
293+
294+
_, err = answerPC.AddTransceiverFromKind(RTPCodecTypeVideo)
295+
assert.NoError(t, err)
296+
297+
offer, err := offerPC.CreateOffer(nil)
298+
assert.NoError(t, err)
299+
300+
assert.NoError(t, offerPC.SetLocalDescription(offer))
301+
assert.NoError(t, answerPC.SetRemoteDescription(offer))
302+
303+
answer, err := answerPC.CreateAnswer(nil)
304+
assert.NoError(t, err)
305+
306+
assert.NoError(t, answerPC.SetLocalDescription(answer))
307+
assert.NoError(t, offerPC.SetRemoteDescription(answer))
308+
309+
assert.NotEmpty(t, offerTransceiver.Mid(), "A transceiver should have been associated after applying an answer")
310+
assert.NoError(t, offerTransceiver.Stop())
311+
312+
offer, err = offerPC.CreateOffer(nil)
313+
assert.NoError(t, err)
314+
315+
mediaDesc := offer.parsed.MediaDescriptions[0]
316+
assert.Equal(t, mediaDesc.MediaName.Port.Value, 0, "After stopping a transceiver it should be rejected in offers")
317+
318+
closePairNow(t, offerPC, answerPC)
319+
}

0 commit comments

Comments
 (0)