- From: Harald Alvestrand <harald@alvestrand.no>
- Date: Thu, 08 May 2014 08:06:52 +0200
- To: public-webrtc@w3.org
- Message-ID: <536B1EFC.9070009@alvestrand.no>
(as contributor) +1 from me. One nit: The following should be legal: addTrack(track, streamId1) addTrack(track, streamId2) this means that one track should be presented to the receiver as part of two streams. I've recorded Justin's summary as part of bug 25497. On 05/08/2014 06:34 AM, Justin Uberti 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 Thursday, 8 May 2014 06:07:21 UTC