Support MediaStreamTrack addition to existing MediaStream in renegotiation

Confirmed Issue #12639118 • Assigned to Frank L.

Details

Author
Mark R.
Created
Jul 5, 2017
Privacy
This issue is public.
Reports
Reported by 1 person

Sign in to watch or report this issue.

Steps to reproduce

I am trying to integrate my team’s SDKs with Microsoft Edge’s WebRTC implementation. Our mobile- and browser-based SDKs typically publish a single MediaStream over an RTCPeerConnection and simply add/remove MediaStreamTracks to/from that MediaStream. As best as I can tell, Edge does not support this at the answerer’s side. For example, consider the following SDP excerpt representing an initial offer (I’ve copied this from a Microsoft Edge client):

v=0
o=- 3654938835259711864 0 IN IP4 127.0.0.1
s=-
t=0 0
a=msid-semantic: WMS 7C1A249E-8BDE-4398-A78A-E76CCC1DEB4E
a=group:BUNDLE audio
...
m=audio 9 UDP/TLS/RTP/SAVPF 102 9 0 8 97 13 118 101
a=setup:actpass
a=mid:audio
a=sendrecv
a=ssrc:2631858370 cname:7C1A249E-8BDE-4398-A78A-E76CCC1DEB4E
a=ssrc:2631858370 msid:7C1A249E-8BDE-4398-A78A-E76CCC1DEB4E 56FBAE2B-8ED5-465E-A0A2-6E10ADDEC7EB
a=ssrc:2631858370 mslabel:7C1A249E-8BDE-4398-A78A-E76CCC1DEB4E
a=ssrc:2631858370 label:56FBAE2B-8ED5-465E-A0A2-6E10ADDEC7EB
...

This SDP advertises a single MediaStream with ID 7C1A249E-8BDE-4398-A78A-E76CCC1DEB4E containing a single audio MediaStreamTrack with ID 56FBAE2B-8ED5-465E-A0A2-6E10ADDEC7EB. Edge accepts this, and I do receive the expected objects.

Now, assume the offerer adds another video MediaStreamTrack with ID C724FE55-12C1-457A-B10A-1B0EAFA77926 to MediaStream 7C1A249E-8BDE-4398-A78A-E76CCC1DEB4E (in the example I link below, not only do I add a MediaStreamTrack, I remove the original audio track, but that shouldn’t matter). This should result in an SDP like the following (again, this is an excerpt from a Microsoft Edge client):

v=0
o=- 3654938835259711864 1 IN IP4 127.0.0.1
s=-
t=0 0
a=msid-semantic: WMS 7C1A249E-8BDE-4398-A78A-E76CCC1DEB4E
a=group:BUNDLE audio video
m=audio 25056 UDP/TLS/RTP/SAVPF 102 9 0 8 97 13 118 101
a=setup:actpass
a=mid:audio
a=recvonly
...
m=video 9 UDP/TLS/RTP/SAVPF 99 107 96 100
a=setup:actpass
a=mid:video
a=sendrecv
a=ssrc:2631858470 cname:7C1A249E-8BDE-4398-A78A-E76CCC1DEB4E
a=ssrc:2631858470 msid:7C1A249E-8BDE-4398-A78A-E76CCC1DEB4E C724FE55-12C1-457A-B10A-1B0EAFA77926
a=ssrc:2631858470 mslabel:7C1A249E-8BDE-4398-A78A-E76CCC1DEB4E
a=ssrc:2631858470 label:C724FE55-12C1-457A-B10A-1B0EAFA77926
a=ssrc:2631858471 cname:7C1A249E-8BDE-4398-A78A-E76CCC1DEB4E
a=ssrc:2631858471 msid:7C1A249E-8BDE-4398-A78A-E76CCC1DEB4E C724FE55-12C1-457A-B10A-1B0EAFA77926
a=ssrc:2631858471 mslabel:7C1A249E-8BDE-4398-A78A-E76CCC1DEB4E
a=ssrc:2631858471 label:C724FE55-12C1-457A-B10A-1B0EAFA77926
a=ssrc-group:FID 2631858470 2631858471
...

However, when I apply this SDP at the answerer, they never receive MediaStreamTrack C724FE55-12C1-457A-B10A-1B0EAFA77926 either by way of an event or by calling getTracks on MediaStream 7C1A249E-8BDE-4398-A78A-E76CCC1DEB4E. Please see this JSFiddle for a working reproduction. If you click “Test 1” it will apply the offers I’ve described above, and hang on the message "Awaiting video MediaStreamTrack C724FE55-12C1-457A-B10A-1B0EAFA77926…".

If you click "Test 2", it uses a modified SDP that represents adding the MediaStreamTrack to a new MediaStream with ID 00000000-0000-0000-0000-000000000000 (just a placeholder I’ve chosen). In this case, we do receive the MediaStreamTrack; however, I would like to be able to reuse the original MediaStream (otherwise, I may have to work around this by mangling SDPs on the backend…).

Attachments

0 attachments

    Comments and activity

    • Microsoft Edge Team

      Changed Assigned To to “Shijun S.”

      Changed Status to “Confirmed”

      Changed Status from “Confirmed”

    • Thanks for reporting the issue to us!

      This is due to the lack of support to multi-stream scenarios in our WebRTC 1.0 implementation. I’m resolving the bug entry as a duplicate to the corresponding work item within our feature team. 

      All the Best, Shijun for the MS Edge team

    • This issue has been resolved External. This means this issue may require a new feature to be implemented or other work that is more significant than a typical bug. You may be able to find more information on this issue by searching for related features on status.microsoftedge.com and uservoice.microsoftedge.com.

    • Microsoft Edge Team

      Changed Assigned To to “Shijun S.”

      Changed Status

      Changed Status to “Confirmed”

      Changed Assigned To from “Shijun S.” to “Frank L.”

      Changed Title from “Support MediaStreamTrack addition to existing MediaStream in renegotiation” to “Support MediaStreamTrack addition to existing MediaStream in renegotiation”

    You need to sign in to your Microsoft account to add a comment.

    Sign in