- 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