Closed Bug 1366581 Opened 3 years ago Closed 3 years ago

single m-line offers does not use bundle

Categories

(Core :: WebRTC: Signaling, enhancement, P2)

55 Branch
enhancement

Tracking

()

RESOLVED FIXED
mozilla55
Tracking Status
firefox55 --- fixed

People

(Reporter: fippo, Assigned: drno)

References

Details

Attachments

(1 file)

var pc = new RTCPeerConnection(); pc.createOffer({offerToReceiveAudio: true}).then(offer => console.log(offer.sdp))

or

var pc = new RTCPeerConnection();
navigator.mediaDevices.getUserMedia({audio: true})
.then((stream) => {
  pc.addStream(stream);
  return pc.createOffer({offerToReceiveAudio: true});
}).then(offer => console.log(offer.sdp))

returns an SDP without bundle. This differs from Chrome behaviour and probably is suboptimal. 

If the offer contained bundle with a single mid then the answer would also contain bundle (if the answerer supports bundle) and when upgrading audio->audio/video it would already be known that the peer supports bundle. As is, the subsequent offer would have to be created with a second ice component etc.
Assignee: nobody → drno
Severity: normal → enhancement
Rank: 23
Priority: -- → P2
(In reply to Philipp Hancke from comment #0)
> var pc = new RTCPeerConnection(); pc.createOffer({offerToReceiveAudio:
> true}).then(offer => console.log(offer.sdp))
> 
> or
> 
> var pc = new RTCPeerConnection();
> navigator.mediaDevices.getUserMedia({audio: true})
> .then((stream) => {
>   pc.addStream(stream);
>   return pc.createOffer({offerToReceiveAudio: true});
> }).then(offer => console.log(offer.sdp))
> 
> returns an SDP without bundle. This differs from Chrome behaviour and
> probably is suboptimal. 
> 
> If the offer contained bundle with a single mid then the answer would also
> contain bundle (if the answerer supports bundle) and when upgrading
> audio->audio/video it would already be known that the peer supports bundle.
> As is, the subsequent offer would have to be created with a second ice
> component etc.

Keep in mind that, according to the IETF specs, an endpoint can change its mind and stop using bundle on a renegotiation. For instance, when Firefox is the offerer in a renegotiation, it _always_ spins up enough extra ICE contexts/components to make everything work if the answerer decides out of the blue that it doesn't want to use bundle and rtcp-mux anymore. Of course, if you know the other end is a browser that you get to set the bundle and rctp-mux policy on, this is not a problem.
Comment on attachment 8870225 [details]
Bug 1366581: offer bundle support for single m-section.

https://reviewboard.mozilla.org/r/141684/#review145550
Attachment #8870225 - Flags: review?(docfaraday) → review+
Pushed by drno@ohlmeier.org:
https://hg.mozilla.org/integration/autoland/rev/6e9126003618
offer bundle support for single m-section. r=bwc
https://hg.mozilla.org/mozilla-central/rev/6e9126003618
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla55
Duplicate of this bug: 1377434
You need to log in before you can comment on or make changes to this bug.