- From: Mark Roberts via GitHub <sysbot+gh@w3.org>
- Date: Wed, 12 Jul 2017 22:10:11 +0000
- To: public-webrtc-logs@w3.org
@jan-ivar thanks for taking the time to address my comments. I think I can see some ways forward with this behavior. I have one more question/suggestion. Assume I wanted to signal a "menu of tracks" in my application. The idea is that this menu represents metadata about each of the MediaStreamTracks that might be shared once I negotiate, and the menu is always shared before negotiation: ```js const menu = { 'track-1': 'metadata 1', 'track-2': 'metadata 2' } ``` During negotiation, I get some "track" events with MediaStreamTrack IDs that aren't necessarily in the menu, so I can't lookup my metadata: ```js pc.ontrack = event => { console.log(menu[event.track.id]) // => undefined } ``` However, I do have `event.transceiver.mid`, so I ought to be able to recover the MSID by parsing the SDP. I could write a function `bad` that looks up the corresponding MSID and returns `remoteId`, allowing me to lookup my metadata: ```js pc.ontrack = event => { const remoteId = bad(event.transceiver.mid, pc.remoteDescription.sdp) console.log(menu[remoteId]) // => "metadata 1" } ``` But the function `bad` is bad... so would it make sense to instead add a property to the RTCRtpReceiver? e.g., ```webidl interface RTCRtpReceiver { // ... readonly attribute string? remoteTrackId; // ... }; ``` Then, my example code becomes ```js pc.ontrack = event => { console.log(menu[event.receiver.remoteTrackId]) // => "metadata 1" } ``` Thanks again, Mark -- GitHub Notification of comment by markandrus Please view or discuss this issue at https://github.com/w3c/webrtc-pc/issues/1128#issuecomment-314912289 using your GitHub account
Received on Wednesday, 12 July 2017 22:10:18 UTC