Primary eng (and PM) emails
Eng: zhih...@chromium.org, dead...@chromium.org
Summary
The rtcpMuxPolicy is used by the application to specify its preferred policy regarding use of RTP/RTCP multiplexing.
If the rtcpMuxPolicy “negotiate” is used, a deprecation message will be returned when creating the webkitRTCPeerConnection.
After monitoring the feature usage, we plan to remove the support of “negotiate” in a later release. We don’t have a concrete milestone for this yet.
Motivation
In M57, we have changed the default rtcpMuxPolicy to "require". "negotiate" should be deprecated for following reasons:
Non-muxed RTCP uses extra network resources.
Removing it will make the API surface simpler, since an "RtpSender"/"RtpReceiver" will then only ever have a single transport.
According the UMA stats, the usage of rtcpMuxPolicy “negotiate” is very low.
Compatibility And Interoperability Risk
Firefox: Talked the Mozilla developers, we believe that they plan to remove it as well. Still waiting for their final plan.
Web developers: Some web developers are using a gateway that doesn't yet support RTCP muxing. For example, Asterisk(https://issues.asterisk.org/jira/browse/ASTERISK-26732). We will pay attention to the usage numbers before actually removing it.
This is not a breaking change. The user will get a deprecation message and the webkitRTCPeerConnection can still be created successfully.
Alternative implementation suggestion for web developers
The user can only use the rtcpMuxPolicy “require” if this feature goes away, and those who don’t support RTCP multiplexing will be broken.
Usage information from UseCounter
WebRTC.PeerConnection.RtcpMux counter.
https://uma.googleplex.com/timeline_v2?sid=27b7ea169051103baedde32b700be4b5
OWP launch tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=685727
Entry on the feature dashboard
This change is small and it’s not a breaking change.
None.
Requesting approval to remove too?
No.
If possible, we plan to remove it in M59 after monitoring the usage numbers.Not sure I'd agree that this isn't a breaking change
Is there a spec discussion around doing away with the entirely?
Now that the default has changed, could you add a use counter in RTCPeerConnection.cpp that measures how often "negotiate" is explicitly requested?
--
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+unsubscribe@chromium.org.
You only mentioned webkitRTCPeerConnection, what about RTCPeerConnection? Does it also support it at the moment?
Please, do add an entry as soon as possible. Like you mentioned - if you remove it, it will cause some pain. An entry makes it (more) sure it is mentioned in a beta blog post and makes it visible to those searching for future deprecations and removals in advance.
Primary eng (and PM) emails
Eng: zhih...@chromium.org, dead...@chromium.org
Summary
The rtcpMuxPolicy is used by the application to specify its preferred policy regarding use of RTP/RTCP multiplexing.
If the rtcpMuxPolicy “negotiate” is used, a deprecation message will be returned when creating the webkitRTCPeerConnection.
After monitoring the feature usage, we plan to remove the support of “negotiate” in a later release. We don’t have a concrete milestone for this yet.
Motivation
In M57, we have changed the default rtcpMuxPolicy to "require". "negotiate" should be deprecated for following reasons:
Non-muxed RTCP uses extra network resources.
Removing it will make the API surface simpler, since an "RtpSender"/"RtpReceiver" will then only ever have a single transport.
According the UMA stats, the usage of rtcpMuxPolicy “negotiate” is very low.
Compatibility And Interoperability Risk
Firefox: Talked the Mozilla developers, we believe that they plan to remove it as well. Still waiting for their final plan.
Web developers: Some web developers are using a gateway that doesn't yet support RTCP muxing. For example, Asterisk(https://issues.asterisk.org/jira/browse/ASTERISK-26732). We will pay attention to the usage numbers before actually removing it.
This is not a breaking change. The user will get a deprecation message and the webkitRTCPeerConnection can still be created successfully.
Alternative implementation suggestion for web developers
The user can only use the rtcpMuxPolicy “require” if this feature goes away, and those who don’t support RTCP multiplexing will be broken.
Usage information from UseCounter
WebRTC.PeerConnection.RtcpMux counter.
https://uma.googleplex.com/timeline_v2?sid=27b7ea169051103baedde32b700be4b5
OWP launch tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=685727
Entry on the feature dashboard
This change is small and it’s not a breaking change.
None.
Requesting approval to remove too?
No.
If possible, we plan to remove it in M59 after monitoring the usage numbers.
--
You only mentioned webkitRTCPeerConnection, what about RTCPeerConnection? Does it also support it at the moment?I didn't noticed webkitRTCPeerConnection has been un-prefixed already. RTCPeerConnection should have the same behavior.
Instead please post a summary of what the data says.
If the "negotiate" behavior goes away, what would the worst case breakage look like, and what kinds of WebRTC-using sites will be affected?
--
Primary eng (and PM) emails
Eng: zhih...@chromium.org, dead...@chromium.org
Summary
The rtcpMuxPolicy is used by the application to specify its preferred policy regarding use of RTP/RTCP multiplexing.
If the rtcpMuxPolicy “negotiate” is used, a deprecation message will be returned when creating the RTCPeerConnection.
After monitoring the feature usage, we plan to remove the support of “negotiate” in a later release. We don’t have a concrete milestone for this yet.
Motivation
In M57, we have changed the default rtcpMuxPolicy to "require". "negotiate" should be deprecated for following reasons:
Non-muxed RTCP uses extra network resources.
Removing it will make the API surface simpler, since an "RtpSender"/"RtpReceiver" will then only ever have a single transport.
According the the UMA counter, the usage of rtcpMuxPolicy “negotiate” is very low.
Compatibility And Interoperability Risk
Firefox: Talked the Mozilla developers, we believe that they plan to remove it as well. Still waiting for their final plan.
Web developers: Some web developers are using a gateway that doesn't yet support RTCP muxing. For example, Asterisk(https://issues.asterisk.org/jira/browse/ASTERISK-26732). We will pay attention to the usage numbers before actually removing it.
Alternative implementation suggestion for web developers
The user can only use the rtcpMuxPolicy “require” if this feature goes away, and those who don’t support RTCP multiplexing will be broken.
Usage information from UseCounter
According to the WebRTC.PeerConnection.RtcpMux counter, less than 3% PeerConnections end up using non-rtcp mux.
OWP launch tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=685727
Entry on the feature dashboard
Requesting approval to remove too?
No.
If possible, we plan to remove it in M59 after monitoring the usage numbers.Instead please post a summary of what the data says.Summary of the data: roughly 2% of PeerConnections result in RTCP muxing not being used.
If the "negotiate" behavior goes away, what would the worst case breakage look like, and what kinds of WebRTC-using sites will be affected?The breakage case would be that WebRTC doesn't work at all. The affected sites would be any that connect to a middlebox or other non-browser endpoint that doesn't yet support RTCP muxing.Our hope was that, after the "require" policy becomes the default in M57, and a deprecation notice starts being displayed in M58, there would be more motivation for these endpoints to support RTCP muxing, and that 2% number would go down. Is that the right approach?
On Thu, Feb 16, 2017 at 1:59 AM 'Taylor Brandstetter' via blink-dev <blin...@chromium.org> wrote:Instead please post a summary of what the data says.Summary of the data: roughly 2% of PeerConnections result in RTCP muxing not being used.Are these all cases where muxed RTCP definitely doesn't work, or could some proportion of these fall back to muxed RTCP and keep working?If the "negotiate" behavior goes away, what would the worst case breakage look like, and what kinds of WebRTC-using sites will be affected?The breakage case would be that WebRTC doesn't work at all. The affected sites would be any that connect to a middlebox or other non-browser endpoint that doesn't yet support RTCP muxing.Our hope was that, after the "require" policy becomes the default in M57, and a deprecation notice starts being displayed in M58, there would be more motivation for these endpoints to support RTCP muxing, and that 2% number would go down. Is that the right approach?It certainly makes intuitive sense that deprecation messages should cause usage to drop, but unfortunately we haven't found that to be the case in general. The things that we want to deprecate and remove typically have low usage to begin with, and my guess is that devs for most affected sites don't see the messages at all unless they happen to be debugging something else.
--
Are these all cases where muxed RTCP definitely doesn't work
I think the strongest argument in favor is that this would be interop, if this is an implementation burden and doesn't work the same in different browsers. Is that the case?
fixing it might involve replacing actual hardware?
Do you have any way of identifying the sites that will most likely be affected, to reach out to them in advance?
☆PhistucK
--
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
☆PhistucK
--
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
--
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+unsubscribe@chromium.org.
☆PhistucK
--
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
--
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.
☆PhistucK
--
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
--
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+unsubscribe@chromium.org.
--
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+unsubscribe@chromium.org.
☆PhistucK
--
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
--
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.
--
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.
☆PhistucK
--
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
--
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+unsubscribe@chromium.org.
--
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+unsubscribe@chromium.org.
You can request a merge, but it'll be up to release managers, not sure how close to stable such changes are accepted. It would be great if you can merge!
☆PhistucK
--
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
--
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.
--
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.
☆PhistucK
--
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
--
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+unsubscribe@chromium.org.
--
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+unsubscribe@chromium.org.
"Do you have any way of identifying the sites that will most likely be affected, to reach out to them in advance? It could be, for example, that they are fine with removal but want 6 months to migrate, in which case a long deprecation might be in order. Or they might be able to migrate more easily if we only ship some other piece of API first."
I represent several organizations currently depending on Asterisk where removal of the rtcpMuxPolicy would break functionality.
We became aware of the issue after the stable release of M57 which broke functionality with Asterisk. The quick fix was using "negotiate".
I fully support the change, and I also believe that "negotiate" should be deprecated, but as it stands right now, deprecation in M60, august, would impose a significant challenge.
Asterisk installations, depending on the configuration and level of customization, can be quite complex.
Even after the patches are applied to current Asterisk, upgrading production systems to current release in that timeframe is far from ideal.
After the release of M57, anyone relying on "negotiate" have been made aware of the problem and will have to find a way to solve this long term, but I believe they should be given more time.
To summarize, I support the deprecation of "negotiate", but I would strongly encourage you to consider not removing it before the end of 2017.
Zhi, Taylor, is rtcpMuxPolicy a maintenance burden, is there refactoring or removal (binary size reduction) blocked by the rtcpMuxPolicy removal alone?
Primary eng (and PM) emails
Eng: zhih...@chromium.org, dead...@chromium.org
Summary
The rtcpMuxPolicy is used by the application to specify its preferred policy regarding use of RTP/RTCP multiplexing.
If the rtcpMuxPolicy “negotiate” is used, a deprecation message will be returned when creating the webkitRTCPeerConnection.
After monitoring the feature usage, we plan to remove the support of “negotiate” in a later release. We don’t have a concrete milestone for this yet.
Motivation
In M57, we have changed the default rtcpMuxPolicy to "require". "negotiate" should be deprecated for following reasons:
Non-muxed RTCP uses extra network resources.
Removing it will make the API surface simpler, since an "RtpSender"/"RtpReceiver" will then only ever have a single transport.
According the UMA stats, the usage of rtcpMuxPolicy “negotiate” is very low.
Compatibility And Interoperability Risk
Firefox: Talked the Mozilla developers, we believe that they plan to remove it as well. Still waiting for their final plan.
Web developers: Some web developers are using a gateway that doesn't yet support RTCP muxing. For example, Asterisk(https://issues.asterisk.org/jira/browse/ASTERISK-26732). We will pay attention to the usage numbers before actually removing it.
This is not a breaking change. The user will get a deprecation message and the webkitRTCPeerConnection can still be created successfully.
Alternative implementation suggestion for web developers
The user can only use the rtcpMuxPolicy “require” if this feature goes away, and those who don’t support RTCP multiplexing will be broken.
Usage information from UseCounter
WebRTC.PeerConnection.RtcpMux counter.
https://uma.googleplex.com/timeline_v2?sid=27b7ea169051103baedde32b700be4b5
OWP launch tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=685727
Entry on the feature dashboard
This change is small and it’s not a breaking change.
None.
Requesting approval to remove too?
No.
If possible, we plan to remove it in M59 after monitoring the usage numbers.