New issue
Advanced search Search tips

Issue 787727 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 18
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug

Blocked on:
issue webrtc:7600



Sign in to add a comment

createOffer does not create media sections in addition order

Reported by fi...@appear.in, Nov 22 2017

Issue description

UserAgent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/62.0.3202.89 Chrome/62.0.3202.89 Safari/537.36

Steps to reproduce the problem:
1. go to https://jsfiddle.net/0d0ggfuv/1/

What is the expected behavior?
it is described in the test :-)

JSEP requires addition-order, see discussion in https://github.com/w3c/webrtc-pc/issues/1669

What went wrong?
the m-lines are ordered a-v. Note that this is not an effect of the adapter addTrack shim.
https://jsfiddle.net/0d0ggfuv/2/ does the same without adapter and using streams so it is not the lack of order in the streams track set either.

Did this work before? No 

Does this work in other browsers? N/A

Chrome version: 62.0.3202.89  Channel: n/a
OS Version: 
Flash Version: 

I *vaguely* recall that a-v as an order might work better with "legacy" clients.
 

Comment 1 by guidou@chromium.org, Nov 22 2017

Components: -Blink>WebRTC Blink>WebRTC>PeerConnection
Owner: hbos@chromium.org
Status: Assigned (was: Unconfirmed)
hbos@, I think this is handled by one of your recent CLs, but take a look anyway.

Comment 2 by hbos@chromium.org, Nov 23 2017

Blockedon: webrtc:7600
The new addTrack() APIs behind flag will take care of handling tracks in receiver order, which would be the order of the SDP most likely.

The SDP is currently in "Plan B" mode, where they are ordered by all audio tracks and then all video tracks.

In third_party/webrtc, "Unified Plan" SDP is in the work, which will be spec-compliant SDP. When that is supported, there will be one section per transceiver, and so I would expect the order added and your test to pass. (Without having verified that the spec ensures transceiver order.)

I'll set this as blocked on the webrtc transceiver stuff.
Status: Fixed (was: Assigned)
The updated version of the test that doesn't complain about SDPUtils missing:
https://jsfiddle.net/0d0ggfuv/3/

This is a problem in Plan B. However, if you enable Unified Plan (with chrome://flags or by explicitly passing sdpSemantics:'unified-plan') the test passes.

I'm going to mark this bug as Fixed because the behavior is fixed in the standard compliant format (that is becoming the default soon). We won't fix the Plan B stuff to be more spec-like, it is the nonstandard format that we want to get away from.

Sign in to add a comment