Intent to Implement & Ship: RTCRtpTransceiver.stop()

115 views
Skip to first unread message

Henrik Boström

unread,
Apr 8, 2019, 5:09:25 AM4/8/19
to blink-dev, Guido Urdaneta, Harald Alvestrand
Contact emails

Spec

Summary
Transceivers allow the sending and/or receiving of media in WebRTC. These are negotiated with SDP, and once negotiated a port is allocated for the transceiver. Stopping a transceiver makes it permanently inactive, which means the port is freed.

Motivation
Stopping a transceiver releases the network port and allows the browser to release any encoder or decoder resources. It also allows recycling m= section in the SDP so that future transceivers (future media) can be negotiated over this session without the list of m= section growing indefinitely. This API is important to reduce resources used by transceivers and to limit the amount of bloat signaled in the SDP, which is important when you have a large number of them in a session. Use cases: large video conference or long-lasting sessions where media is repeatedly added and removed.

Risks
Interoperability and Compatibility
Low, this is already shipped in Firefox and Safari and all major browsers have positive signals towards it.
Ergonomics
"Could the default usage of this API make it hard for Chrome to maintain good performance?" No, but *not* supporting it could lead to performance issues; if thousands of transceivers are allocated but never stopped this could lead to OOM crashes unless special optimization logic is implemented.
Activation
N/A

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes.

Link to entry on the feature dashboard

Requesting approval to ship?
Yes.

Yoav Weiss

unread,
Apr 8, 2019, 7:39:18 PM4/8/19
to Henrik Boström, blink-dev, Guido Urdaneta, Harald Alvestrand
LGTM1

I'm assuming there's a WPT suite for the feature. Is that assumption correct?

 
Link to entry on the feature dashboard

Requesting approval to ship?
Yes.

--
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/63c314ec-5d21-4752-b114-cd3e746a9229%40chromium.org.

Guido Urdaneta

unread,
Apr 9, 2019, 7:06:04 PM4/9/19
to Yoav Weiss, Henrik Boström, blink-dev, Guido Urdaneta, Harald Alvestrand

Alex Russell

unread,
Apr 11, 2019, 3:19:40 PM4/11/19
to blink-dev, yo...@yoav.ws, hb...@chromium.org, gui...@chromium.org, h...@chromium.org
LGTM2
LGTM1

To unsubscribe from this group and stop receiving emails from it, send an email to blin...@chromium.org.

Chris Harrelson

unread,
Apr 11, 2019, 3:21:04 PM4/11/19
to Yoav Weiss, Henrik Boström, blink-dev, Guido Urdaneta, Harald Alvestrand

Philip Jägenstedt

unread,
Apr 11, 2019, 3:22:38 PM4/11/19
to Alex Russell, blink-dev, Yoav Weiss, Henrik Boström, Guido Urdaneta, Harald Alvestrand
LGTM3, thanks for closing the gap to what's already shipped in other browsers!

I see in https://wpt.fyi/results/webrtc/RTCRtpTransceiver-stop.html?run_id=6249223892762624&run_id=5147192360697856&run_id=4847630303625216&run_id=5169585615536128 that one test is failing in Firefox. Can you look into that if it ends up passing on Chrome?

Boris Zbarsky

unread,
Apr 12, 2019, 11:33:24 AM4/12/19
to Philip Jägenstedt, Alex Russell, blink-dev, Yoav Weiss, Henrik Boström, Guido Urdaneta, Harald Alvestrand
On 4/11/19 3:21 PM, Philip Jägenstedt wrote:
> I see in
> https://wpt.fyi/results/webrtc/RTCRtpTransceiver-stop.html?run_id=6249223892762624&run_id=5147192360697856&run_id=4847630303625216&run_id=5169585615536128 that
> one test is failing in Firefox. Can you look into that if it ends up
> passing on Chrome?

Note that as far as we can tell this test is buggy. See
https://bugzilla.mozilla.org/show_bug.cgi?id=1531914 which has a change
to the test waiting for review.

It might be good to figure out whether that diagnosis is correct (and it
seems plausible to me, given the mismatch between the test's description
and what it's actually testing) and if so why Safari is passing it...

-Boris

Harald Alvestrand

unread,
Aug 26, 2020, 10:37:41 AM8/26/20
to Boris Zbarsky, Philip Jägenstedt, Alex Russell, blink-dev, Yoav Weiss, Henrik Boström, Guido Urdaneta, Harald Alvestrand
FYI (resurrecting a very old thread):
I've finally gotten around to finishing this implementation. It is available as an experimental feature (behind a flag) in M86; I intend to enable it by default in M87.

Reply all
Reply to author
Forward
0 new messages