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

Re: Next steps on RTCRtpSender "doohickey" proposal

From: Alex Gouaillard <alex.gouaillard@temasys.com.sg>
Date: Thu, 8 May 2014 12:56:54 +0800
Message-Id: <E1FDDE68-09A9-49DA-A49D-EDE7873213E3@temasys.com.sg>
Cc: "public-webrtc@w3.org" <public-webrtc@w3.org>
To: Justin Uberti <juberti@google.com>
+1

Sent from my iPhone

On 8 May, 2014, at 12:34 PM, 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 Thursday, 8 May 2014 04:57:25 UTC

This archive was generated by hypermail 2.3.1 : Monday, 23 October 2017 15:19:40 UTC