W3C home > Mailing lists > Public > public-webrtc@w3.org > January 2018

Re: What would you like to see in WebRTC next? A low-level API?

From: Justin Uberti <juberti@google.com>
Date: Wed, 24 Jan 2018 16:59:32 -0800
Message-ID: <CAOJ7v-10y8OFNK37wxdok2qPC+Na5WEGUt-72nBfgkH3Vn7Jgg@mail.gmail.com>
To: Iñaki Baz Castillo <ibc@aliax.net>
Cc: Peter Thatcher <pthatcher@google.com>, "public-webrtc@w3.org" <public-webrtc@w3.org>
On Wed, Jan 24, 2018 at 2:25 PM, Iñaki Baz Castillo <ibc@aliax.net> wrote:

> On 24 January 2018 at 22:57, Justin Uberti <juberti@google.com> wrote:
>
> >> 2) Make it better. Specially, allow more granular control on how
> >> RTCRtpParameters are dynamically given to the RTCRtpSender (so instead
> >> of passing a full JSON "blob" that must be fully re-inspected each
> >> time, let's just modify a specific subset of fields in those
> >> parameters).
> >
> >
> > Thanks. If you look at Peter's proposal, he's suggesting something that's
> > pretty close to that. Basically, instead of a RtpSender, you could get
> > direct access to an encoder object itself, and would have full control
> over
> > its configuration.
>
> True.
>
>
> > I think this would actually be a *lower* level API than ORTC.
>
> Sure. Just wondering about how to signal those RTP parameters
> modification to the remote peer. In some cases that's needed. In
> others it's not. Something like this comes to my mind:
>
> rtpSender.changeSomething(
>   {
>     foo: 100000
>   })
>   .then((changes) =>
>   {
>     if (changes)
>       mySignaling.send(changes);
>   })
>   .catch((error) =>
>   {
>     console.error("could not apply new settings");
>   });
>
>
In this model, I think the app (who may very well control the actual
packetization) has the full responsibility for determining what important
changes have occurred and notifying the remote peer of such changes. The
interface to the encoder is likely to be more along the lines of Android's
MediaCodec
<https://developer.android.com/reference/android/media/MediaCodec.html>, or
iOS' VideoToolbox <https://developer.apple.com/documentation/videotoolbox>,
where the output is a bitstream as opposed to a set of RTP packets.
Received on Thursday, 25 January 2018 01:00:16 UTC

This archive was generated by hypermail 2.3.1 : Thursday, 25 January 2018 01:00:17 UTC