- From: Justin Uberti <juberti@google.com>
- Date: Wed, 21 May 2014 07:51:32 -0700
- To: Martin Thomson <martin.thomson@gmail.com>
- Cc: "public-webrtc@w3.org" <public-webrtc@w3.org>
- Message-ID: <CAOJ7v-2d1grskafunfpk-JuxH_rSQTjmz84tKpyNFCpxemnggg@mail.gmail.com>
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