Intent to Implement and Ship: Partial RTCRtpReceiver and RTCRtpContributingSource

125 views
Skip to first unread message

Henrik Boström

unread,
Mar 20, 2017, 10:10:04 AM3/20/17
to blink-dev

Contact emails

hb...@chromium.org, gui...@chromium.org, dead...@chromium.org

https://w3c.github.io/webrtc-pc/#rtcpeerconnection-interface-extensions

https://w3c.github.io/webrtc-pc/#dom-rtcrtpreceiver

https://w3c.github.io/webrtc-pc/#dom-rtcrtpcontributingsource

While we intend to implement all of the RTP Media API (old intent to implement and ship), this intent is to first implement and ship a subset of the receiving parts of the API that is useful on its own.

This allows keeping track of which source is sending to a track when there are multiple sources that can send to a receiving track.


RTCPeerConnection extension:

- sequence<RTCRtpReceiver> getReceivers();


RTCRtpSender support:

- MediaStreamTrack track;

- sequence<RTCRtpContributingSource> getContributingSources();


RTCRtpContributingSource support:

- DOMHighResTimeStamp timestamp;

- unsigned long source;

- byte? audioLevel;


The W3C WebRTC working group has consensus around adding this API.


Low risk. There is consensus and it is currently partially supported by other browsers:

https://developer.microsoft.com/en-us/microsoft-edge/platform/catalog/?q=specName%3Awebrtc%20rtpreceiver&page=1

https://developer.microsoft.com/en-us/microsoft-edge/platform/catalog/?q=specName%3Awebrtc%20contributing&page=1

None

Yes. https://bugs.chromium.org/p/chromium/issues/detail?id=703122 https://www.chromestatus.com/feature/5715393821802496

Yes.

PhistucK

unread,
Mar 20, 2017, 12:37:39 PM3/20/17
to Henrik Boström, blink-dev
Have you tried Firefox? MDN usually has an entry for everything it implements and those do not have entries. This worries me a bit.


PhistucK

--
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.

the.s...@gmail.com

unread,
Mar 20, 2017, 1:11:06 PM3/20/17
to blink-dev, hb...@chromium.org
We just haven't written those docs yet because priority-wise, we had other things that had to be done first. They're coming... :)

Eric Shepherd
Senior Technical Writer
Mozilla
https://developer.mozilla.org/
Blog: http://www.bitstampede.com/
Twitter: http://twitter.com/sheppy


PhistucK

To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Henrik Boström

unread,
Mar 20, 2017, 1:12:26 PM3/20/17
to blink-dev, hb...@chromium.org
At the moment, Firefox stable has among the things listed in this intent RTCPeerConnection.getReceivers() and RTCRtpReceiver with track but no getContributingSources() yet.

Philipp Hancke

unread,
Mar 20, 2017, 1:12:32 PM3/20/17
to PhistucK, Henrik Boström, blink-dev
Firefox implements RTCRtpReceiver and getReceivers() but doesn't implement the getContributingSources method.

getContributingSources in Edge is from ORTC, the (webkit)RTCPeerConnection in Edge implements neither getSenders nor getReceivers currently (15.15055) so there is no way to get access those objects.

Philip Jägenstedt

unread,
Mar 21, 2017, 8:59:23 AM3/21/17
to Philipp Hancke, PhistucK, Henrik Boström, blink-dev
I took a quick look at the API surface in the spec and filed one issue:

The biggest risk with shipping partial support might be if other browser supports more than that and that there's feature detection code that assumes support of that whole surface is present based on a single test. Happily, it looks like Gecko doesn't support RTCRtpContributingSource, and its RTCRtpReceiver has only the track attribute.

Edge 15 doesn't seem to have RTCRtpContributingSource, but its RTCRtpReceiver has a few things beyond track, namely onerror, rtcpTransport and transport. I don't know if that's cause for concern, but probably not since problematic code would already be broken in Firefox.

LGTM1



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.

Dimitri Glazkov

unread,
Mar 21, 2017, 10:19:18 AM3/21/17
to Philip Jägenstedt, Philipp Hancke, PhistucK, Henrik Boström, blink-dev
LGTM2

Chris Harrelson

unread,
Mar 21, 2017, 11:06:59 AM3/21/17
to Dimitri Glazkov, Philip Jägenstedt, Philipp Hancke, PhistucK, Henrik Boström, blink-dev
LGTM3

LGTM2



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.

Henrik Boström

unread,
Mar 22, 2017, 5:28:16 AM3/22/17
to blink-dev, dgla...@chromium.org, foo...@chromium.org, philipp...@googlemail.com, phis...@gmail.com, hb...@chromium.org, chri...@chromium.org
Update to technical constraints / RTCRtpContributingSource.audioLevel:
Because the audio level requires the support of a new RTP header extension we might not define audioLevel in the M59 shipping. (Current audio levels is currently available through other APIs which is sufficient for most use cases that are interested in audio level but not per-source and there isn't a history over the last 10 s.)
This shouldn't affect the arguments for or against this release though since the main thing with this feature is "source" and other browser don't deliver audioLevel either.

Philip Jägenstedt

unread,
Mar 22, 2017, 8:10:24 AM3/22/17
to Henrik Boström, blink-dev, dgla...@chromium.org, philipp...@googlemail.com, phis...@gmail.com, chri...@chromium.org
Omitting audioLevel until it's clear how it should work SGTM.

LGTM3

LGTM2



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.

Chris Harrelson

unread,
Mar 22, 2017, 2:28:58 PM3/22/17
to Philip Jägenstedt, Henrik Boström, blink-dev, Dimitri Glazkov, Philipp Hancke, PhistucK
Sounds fine to me too, thanks for asking. (No need to wait for a third piece of API owner feedback either.)

LGTM3

LGTM2



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 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.

Reply all
Reply to author
Forward
0 new messages