[webrtc-pc] "a=msid" line should contain sender/receiver IDs, not track IDs

henbos has just created a new issue for https://github.com/w3c/webrtc-pc:

== "a=msid" line should contain sender/receiver IDs, not track IDs ==
Traditionally "a=msid" lines indicate tracks and streams by track IDs. With RTP Media API, including `addTransceiver` and `replaceTrack`, it makes more sense to think of these as sender/receiver IDs.

On the receiving side, an RTCRtpReceiver will be created whose track has the announced ID, and it's receiving media from an RTCRtpSender on the other side. But the sender can replaceTrack, there is no guarantee that MediaStreamTrack IDs match on local and remote sides.

Traditional case:
`pc.addTrack(track);  // a=msid with track.id`
Here, the local and remote side will get `MediaStreamTracks` whose `id` match.

But what about this?
senderA = pc.addTrack(track);  // a=msid with track.id
senderA.replaceTrack(null or something else);
senderB = pc.addTrack(track);  // a=msid with...?

Or this?
`pc.addTransceiver('video');  // track is null by default, a=msid with...?`

Proposal: When an `RTCRtpSender` is created we should assign it a unique ID and use that for the "a=msid" line. The only `MediaStreamTrack.id` we can guarantee something about is the one used by an `RTCRtpReceiver` - the receiver and its track can share ID.

Please view or discuss this issue at https://github.com/w3c/webrtc-pc/issues/1718 using your GitHub account

Received on Thursday, 4 January 2018 09:45:55 UTC