Interoperability and Compatibility
Switching from "Plan B" to "Unified Plan" entails some risk since behavior changes, the biggest concern being around the switching point when different clients are on different formats and the formats only being compatible for the single track per m-section case. Switching the default will require a separate intent to ship and a separate discussion.
For this intent: Transceivers have to be opted-in to which makes this intent less risky. The sooner we allow developers to use the new APIs the better.
One concern is that this breaks feature detection. An application that checks for the existence of the RTCRtpTransceiver interface or if getTransceivers()/addTransceiver() is in the RTCPeerConnection prototype will start to see them there, only to find out that an exception is thrown if they are invoked unless sdpSemantics: "unified-plan" is used (which applications currently don't do).
Currently transceivers are not widely adopted. Most applications use legacy addStream()/removeStream() or addTrack(). Sample searches for usages in real apps:
- Twilio does not seem to be affected (search for RTCRtpTransceiver, addTransceiver, getTransceivers yields no hits).
- TokBox does not seem to be affected (search finds a couple of occurrences but it looks like shimming).
- jitsi does not seem to be affected (search for RTCRtpTransceiver, addTransceiver, getTransceivers yields no hits).
Support and interoperability testing for Unified Plan
Edge: Under consideration
Firefox: Shipped
Safari: Positive
Web developers: In favor of interoperability. 186 stars on https://bugs.chromium.org/p/chromium/issues/detail?id=465349
Interoperability can be tested using KITE: http://dashboard.cosmosoftware.io:4443/testing/public#
Ergonomics
This is part of the WebRTC API.
Activation
This intent is for shipping the feature behind the "sdpSemantics" configuration, allowing people to test transceivers by changing the default semantics to Unified Plan. The application has to opt-in by passing { sdpSemantics: "unified-plan" } to the RTCPeerConnection constructor.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/7b33355f-7c33-4e3e-bb99-95a0f5e510b1%40chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYeVrYJz3%2BhS6DSnp83dieLW-bfc3wdN%3Dmh12swAZ2xmpw%40mail.gmail.com.
LGTM 2.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ab89f6d3-1769-40f2-b8ac-7aca1a5df52d%40chromium.org.