- From: Martin Thomson <martin.thomson@gmail.com>
- Date: Tue, 20 May 2014 12:24:09 -0700
- To: Justin Uberti <juberti@google.com>
- Cc: "public-webrtc@w3.org" <public-webrtc@w3.org>
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 Tuesday, 20 May 2014 19:24:37 UTC