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

154 visualizzazioni
Passa al primo messaggio da leggere

Philip Jägenstedt

da leggere,
14 apr 2017, 04:58:3314/04/17
a 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.


da leggere,
14 apr 2017, 07:38:4014/04/17
a 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


da leggere,
14 apr 2017, 10:59:4214/04/17
a Philip Jägenstedt, blink-dev

Software Engineer, Google

Dimitri Glazkov

da leggere,
14 apr 2017, 11:23:2414/04/17
a TAMURA, Kent, Philip Jägenstedt, blink-dev

Chris Harrelson

da leggere,
14 apr 2017, 11:26:1014/04/17
a Dimitri Glazkov, TAMURA, Kent, Philip Jägenstedt, blink-dev


Philip Jägenstedt

da leggere,
4 ago 2017, 11:33:4804/08/17
a 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
Rispondi a tutti
Rispondi all'autore
0 nuovi messaggi