W3C home > Mailing lists > Public > public-webrtc@w3.org > May 2014

Re: Next steps on RTCRtpSender "doohickey" proposal

From: Justin Uberti <juberti@google.com>
Date: Wed, 21 May 2014 07:51:32 -0700
Message-ID: <CAOJ7v-2d1grskafunfpk-JuxH_rSQTjmz84tKpyNFCpxemnggg@mail.gmail.com>
To: Martin Thomson <martin.thomson@gmail.com>
Cc: "public-webrtc@w3.org" <public-webrtc@w3.org>
Did we agree on variadic, or addTrack(MST track, sequence<MS> streams)?


On Tue, May 20, 2014 at 12:24 PM, Martin Thomson
<martin.thomson@gmail.com>wrote:

> We discussed this and we're OK with the basics, but the following was
> a little controversial:
>
> void addTrack(MediaStreamTrack track, optional MediaStream stream);
>
> We concluded to do instead:
>
> void addTrack(MediaStreamTrack track, MediaStream... stream);
>
> Variadic arguments FTW.
>
> On 7 May 2014 21:34, Justin Uberti <juberti@google.com> wrote:
> > Trying to bring this discussion to a conclusion... I sense consensus
> around
> > the following:
> > - General concept of doohickeys, i.e. RTCRtpSender, RTPRtpReceiver.
> > - addTrack(track, streamId)/removeTrack and onaddtrack.
> > - Implicit cloning never occurs. This means that if you want to add a
> track
> > twice to a PC, you need to first clone it.
> >
> > More discussion is still needed on:
> > - RTCRtpEncodingParams
> > - RTCDtlsTransport
> >
> > Therefore I would like to advance the initial, uncontroversial parts of
> this
> > proposal, i.e. what I describe below. We can then discuss the exact
> nature
> > of the encodings and transport objects separately on the list, and at the
> > interim meeting.
> >
> > // the "send" doohickey
> >
> > interface RTCRtpSender {
> >
> >  readonly attribute MediaStreamTrack track;
> >
> > };
> >
> >
> > // the "receive" doohickey
> >
> > interface RTCRtpReceiver {
> >
> >  readonly attribute MediaStreamTrack track;
> >
> > };
> >
> >
> > // parameter to the onaddtrack event
> >
> > interface AddTrackEvent : Event {
> >
> >  readonly attribute RtpReceiver receiver;
> >
> >  readonly attribute MediaStreamTrack track;
> >
> >  readonly attribute MediaStream stream;
> >
> > };
> >
> >
> > partial interface RTCPeerConnection {
> >
> > // because a track can be part of multiple streams, the id parameter
> >
> >  // indicates which particular stream should be referenced in signaling
> >
> >  RTCRtpSender addTrack(track, streamId);  // replaces addStream; fails if
> > |track| has already been added
> >
> >  void removeTrack(RTCRtpSender);  // replaces removeStream
> >
> >  sequence<RTCRtpSender> getSenders();
> >
> >  sequence<RTCRtpReceiver> getReceivers();
> >
> >  EventHandler onaddtrack;  // replaces onaddstream; event object is
> > RemoteTrackEvent.
> >
> >                                         // note that onremovestream is
> not
> > needed, since tracks are 'removed'
> >
> >                                         // simply by progressing to the
> > ENDED state
> >
> > };
> >
> >
> >
>
Received on Wednesday, 21 May 2014 14:52:20 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:17:58 UTC