webrtc: Send offer twice in very short time, second offer doesn't reflect well

Your environment.

What did you do?

Send offer twice in very short time(within 100ms). In the first offer, I just add datachannel in SDP In the second offer, I add two tracks(audio, video)

But the second offer doesn’t reflects well and see error log in PeerConnection as below Incoming unhandled RTP ssrc(123412341234), OnTrack will not be fired. incoming SSRC failed Simulcast probing

This issue is raised because REMOTE DESCRIPTION is changed during processing the first offer’s startRTP(). (startSCTP() takes long time for init) So I think before completing startRTP() of the first offer, it should prevent to change REMOTE DESCRIPTION or filter the simulcastStream by undeclaredMediaProcessor().

And there is no way to check it startRTP() is in progress. Adding some function for checking it in PeerConnection might be helpful for user.

  • I call PeerConnection’s functions sequentially as below.
SetRemoteDescription(offer) -> answer, err := CreateAnswer(nil) -> SetLocalDescription(answer) 

What did you expect?

The second offer should reflect well.

What happened?

The second offer doesn’t reflect well

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Reactions: 1
  • Comments: 21 (10 by maintainers)

Commits related to this issue

Most upvoted comments

@lamhai1401 Looking at the code more, I think it is the FEC-FR group in Android that is causing trouble. I think it is working in v3.1.15 because of timing of which stream arrives first at the server. Would you be able to turn off FEC on Android client? It’s worked after i turn off FEC-FR. Thanks you so much.

@lamhai1401 Looking at the code more, I think it is the FEC-FR group in Android that is causing trouble. I think it is working in v3.1.15 because of timing of which stream arrives first at the server. Would you be able to turn off FEC on Android client?