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

Re: Summary of replace track status

From: Peter Thatcher <pthatcher@google.com>
Date: Fri, 22 May 2015 07:14:19 -0700
Message-ID: <CAJrXDUEEQDpnSeLfJDZvQGqt=0AaNexQiC864=_Xpdg0Kq=_Hg@mail.gmail.com>
To: Stefan Håkansson LK <stefan.lk.hakansson@ericsson.com>
Cc: "public-webrtc@w3.org" <public-webrtc@w3.org>
On Fri, May 22, 2015 at 6:19 AM, Stefan Håkansson LK <
stefan.lk.hakansson@ericsson.com> wrote:

> Hi,
> the discussion on replace track covered a lot of things, some that are
> not related to track replacement per se. I would like to break things
> down a bit to see if there are some things we can agree on, and get into
> the spec, while the discussion on other items continue.
> My interpretation is that we have consensus regarding:
> * sender.replaceTrack(new_track) (as opposed to e.g. setTrack) as API model
> * The identifier at the remote end can remain unchanged, i.e. for the
> sequence
>         senderX = pc.addTrack(X);
>         senderX.replaceTrack(Y);
> the Id at the remote end would stay unchanged
> * If the track switched to cannot be sent without a renegotiation,
> replaceTrack should fail, and the original track (X) would continue to
> flow.
> ​

> Is there anyone not aboard with the above?
That seems a very good summary to me, and pretty much exactly matches what
I recall that we came up with back at TPAC.  I support it.​

> There are aspects are still open as far as I can tell:
> * Id at remote end: this Id is intended to enable the application to
> refer to the right track (e.g. Id A is participant X's video, Id B X's
> audio etc.). Up to now that has been the MediaStreamTrack Id (which must
> be carried over), but I've heard arguments that we should instead have a
> sender-receiver Id. Both would solve the reference problem.

> * Id, MID and MSID: there was a long discussion around this, but it
> seemed to be related to add/removeTrack and m-line recycling rather than
> replaceTrack. Could someone file an issue describing this problem so we
> don't forget it?
​I'm in support of RtpSender.id, and of making it MID if it's possible
(which it might not be), and I agree it should be a separate issue from
 RtpSender.replaceTrack and we can finish replaceTrack and handle the id as
a separate issue.

I can make this RtpSender.id issue if we don't already have one.  I think
the question of which ID that ID is (MSID or MID) should probably go along
with it.  Or is there a good reason to have a separate issue?

> * Detection/reporting of that negotiation would be needed: as said
> above, there seem to be consensus of that if the new track (provided by
> replaceTrack) would require a re-negotiation, replaceTrack should fail.
> How quickly can this be detected? How should it be reported back to the
> application?

​I don't recall of the top of my head any situation in which replaceTrack
could trigger a renegotiation.  Perhaps if we had some scenarios were we
thought that might come up, we could know how long it would take to
detect.  Does anyone have any concrete examples?

> Stefan
Received on Friday, 22 May 2015 14:15:27 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:18:06 UTC