- 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