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

SDP "Bumper lanes" #10

Open
aboba opened this issue Nov 29, 2023 · 3 comments
Open

SDP "Bumper lanes" #10

aboba opened this issue Nov 29, 2023 · 3 comments

Comments

@aboba
Copy link
Contributor

aboba commented Nov 29, 2023

What if a developer only wants to customize audio but not video? We have discussed allowing applications to access RTCRtpReceiver.rtpTransport and RTCRtpSender.rtpTransport.

The question is what restrictions are placed on these send/receiver-specific RtpTransports by SDP:

Unnegotiated PT? Easy to check
Invalid Payload? Not easy to check
Unnegotiated Header Extension ID? Easy
Invalid Header Extension Value? Not Easy
Unnegotiated SSRC? MIDs allow any
Unnegotiated MID/RID? Not too hard
Unnegotiated RTCP type? What if it's custom?
All the m-lines are recvonly/inactive? Easy

So the restrictions imposed by "bumper lanes" could be unnegotiated PTs, Header Extension IDs, MIDs, RIDs, directions, and maybe RTCP types.

But if the applications wants to turn off the "bumper lanes" it can munge the SDP to make them "negotiated".

So why not make it easy?

rtpTransport.bumperLanesEnabled = false

@aboba
Copy link
Contributor Author

aboba commented Dec 4, 2023

Comment from Harald at Nov. 21 virtual interim: removing the restrictions could create conflict in the situation where RtpTransport traffic is being multiplexed with unmodified PeerConnection traffic. As an example, RtpTransport could use Payload Type 7, but then a renegotiation happens and the PeerConnection allocates Payload Type 7.

@alvestrand
Copy link

The same thing applies for all "unnegotiated" features.
I suspect that "bumperLanesEnabled = false" would have to be "SdpReNegotiationEnabled = false" - you're on your own, you can't use SDP O/A to make modifications. (No problem with using it for initial setup, though).

@dontcallmedom-bot
Copy link

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

No branches or pull requests

3 participants