PSA: libWebRTC won't send RTCP BYE when disabling a layer (M119)

181 views
Skip to first unread message

Philipp Hancke

unread,
Sep 19, 2023, 9:59:32 AM9/19/23
to discuss...@googlegroups.com
As of
which landed in M119, libWebRTC will no longer send RTCP BYE, the equivalent of saying "I am not going to use this SSRC anymore" when disabling a track (e.g. via setParameters).

This was semantically incorrect since re-enabling a track caused the SSRC to be reused.
Note that BYE is still not sent in cases when it would actually be appropriate such as stopping a transceiver.

If you have concerns or questions, ask here or in https://bugs.chromium.org/p/webrtc/issues/detail?id=11082

Muhammad Usman Bashir

unread,
Sep 22, 2023, 8:56:32 AM9/22/23
to discuss-webrtc
@Philipp, thank you for the heads-up on this change. I noticed that the change was initially reverted due to its impact on an " upstream project " but was later re-landed after the dependent systems were addressed. Are there any known limitations or edge cases where this change could introduce potential interop issues, especially when interacting with non-compliant or legacy systems?

Perhaps we could consider:
  • Adding telemetry to track the reuse of disabled SSRCs. (to identify gaps to the existing functions)
  • Introducing an 'interop mode' that allows for the option to still send a BYE packet when disabled (configurable).
Let me know if you've already considered these angles.

Philipp Hancke

unread,
Sep 22, 2023, 9:52:24 AM9/22/23
to discuss...@googlegroups.com
Am Fr., 22. Sept. 2023 um 14:56 Uhr schrieb Muhammad Usman Bashir <mail2c...@gmail.com>:
@Philipp, thank you for the heads-up on this change. I noticed that the change was initially reverted due to its impact on an " upstream project " but was later re-landed after the dependent systems were addressed. Are there any known limitations or edge cases where this change could introduce potential interop issues, especially when interacting with non-compliant or legacy systems?

Perhaps we could consider:
  • Adding telemetry to track the reuse of disabled SSRCs. (to identify gaps to the existing functions)
  • Introducing an 'interop mode' that allows for the option to still send a BYE packet when disabled (configurable).
Let me know if you've already considered these angles.

As a rule of thumb bugfixes such as this one that are considered to have a low risk of breakage don't need such measures
(which are quite time-consuming) but only require a PSA.
They *may* get reverted if someone says they need time to adapt which is what happened in this case.

On Tuesday, September 19, 2023 at 6:59:32 PM UTC+5 Philipp Hancke wrote:
As of
which landed in M119, libWebRTC will no longer send RTCP BYE, the equivalent of saying "I am not going to use this SSRC anymore" when disabling a track (e.g. via setParameters).

This was semantically incorrect since re-enabling a track caused the SSRC to be reused.
Note that BYE is still not sent in cases when it would actually be appropriate such as stopping a transceiver.

If you have concerns or questions, ask here or in https://bugs.chromium.org/p/webrtc/issues/detail?id=11082

--
This list falls under the WebRTC Code of Conduct - https://webrtc.org/support/code-of-conduct.
---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrt...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/96e8c2d0-e71e-4ca7-bc6a-1a55338a0ea3n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages