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