Intent to Deprecate and Remove: RTCPeerConnection#getStreamById(id)

151 visningar
Hoppa till det första olästa meddelandet

Philip Jägenstedt

14 apr. 2017 04:58:332017-04-14
till blink-dev


Remove the getStreamById() method for RTCPeerConnection, which is a convenience method for finding a local or remote stream by a particular id.


It was removed from the spec in 2014, removed from Gecko, and appears to be used very little in the wild.

Interoperability and Compatibility Risk

The interop risk is associated with Edge and WebKit-based browsers other than Safari at this point.

Edge: No signals. I've filed an issue for removal requesting feedback.

Firefox: Removed

Safari: RTCPeerConnection is not shipped. I've filed an issue for WebKit requesting feedback.

If there is any feedback, I will report back here.

The compat risk was judged by httparchive analysis, where the total number of hits was low, and no cases that would break were found. It looks much safer than some removals we've successfully done.

Alternative implementation suggestion for web developers

From the bug, here is a replacement for anyone that needs it after removal: RTCPeerConnection.prototype.getStreamById = function(id) { try { var localStreams = this.getLocalStreams(); var remoteStreams = this.getRemoteStreams(); var i; for (i = 0; i < localStreams.length; i++) { if (localStreams[i].id == id) return localStreams[i]; } for (i = 0; i < remoteStreams.length; i++) { if (remoteStreams[i].id == id) return remoteStreams[i]; } } catch(e) {} return null; }

The try-catch is because getLocalStreams() and getRemoteStreams() are also non-standard, with an uncertain fate.

Usage information from UseCounter

Rounds to 0, gaps in the timeline means it was literally zero that day.

OWP launch tracking bug

Entry on the feature dashboard

Requesting approval to remove too?

Yes, I would like to deprecate in M60 and remove in M62.


14 apr. 2017 07:38:402017-04-14
till Philip Jägenstedt, blink-dev
Just a note - I am not sure an HTTPArchive analysis makes sense for WebRTC cases. Homepages would rarely use WebRTC.


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


14 apr. 2017 10:59:422017-04-14
till Philip Jägenstedt, blink-dev

Software Engineer, Google

Dimitri Glazkov

14 apr. 2017 11:23:242017-04-14
till TAMURA, Kent, Philip Jägenstedt, blink-dev

Chris Harrelson

14 apr. 2017 11:26:102017-04-14
till Dimitri Glazkov, TAMURA, Kent, Philip Jägenstedt, blink-dev


Philip Jägenstedt

4 aug. 2017 11:33:482017-08-04
till Chris Harrelson, Dimitri Glazkov, TAMURA, Kent, blink-dev
This has now been removed.

To unsubscribe from this group and stop receiving emails from it, send an email to
Svara alla
Svara författaren
0 nya meddelanden