Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Give distinct names for audio- and video- receive-output-bins #397

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

Conversation

trollfred
Copy link

Name collision freaks gstreamer out when using audio+video BUNDLE

@Rugvip
Copy link
Contributor

Rugvip commented Jun 2, 2015

What changes did you make to cause that naming conflict? We don't support bundling atm, but it's still a good thing to fix this since it's possible to edit the SDP.

Adding a media type suffix to the bin isn't enough to solve the problem though, since it's possible to have multiple audio and video streams.

@trollfred
Copy link
Author

I just tried to bundle audio + video, so there was collision on adding second stream. Giving distinct names solved problem for me, but yes, it isn't enough if there are multiple audio or video streams. I suggest adding stream id to name in order solve all possible conflicts, I can try to do it if it seems ok to you.

Name collision freaks gstreamer out when using audio+video BUNDLE
@Rugvip
Copy link
Contributor

Rugvip commented Jun 2, 2015

What user agents and platforms did you use to test this?

Bundling isn't currently supported, and if implemented it wouldn't be on the session level, since each OwrMediaSession only has a single send source. That said we still want to avoid conflicts when receiving unexpected RTP stream, but I'm not sure if the stream should be ignored or handled in some other way. @pererikb @adam-be ?

@superdump
Copy link
Contributor

To do it with the current API you would want to have the incoming packets split into their respective sessions before being fed into rtpbin and then merge the outgoing rtp/rtcp into one stream appropriately. Alternatively I guess you could have some SSRC to session mapping in rtpbin for the bundle case

@superdump
Copy link
Contributor

If we consider a session to be an m= section that is.

@stefhak
Copy link
Contributor

stefhak commented Oct 22, 2015

The latest development calls for using the MID header RTP field in combination with the a=MID: SDP attribute to sort the different incoming SSRCs into the right MediaStreamTrack. That is because each m= section can have several active SSRCs associated to it (e.g. to carry FEC data). So we're really looking for a MID to m= section mapping.
I can create a patch for adding a=MID to the SDP, will perhaps need some help in making sure the RTP-stack adds it to each outgoing RTP packet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants