-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Fix ftmp matching for all codecs #1912
Comments
The situation is the following: Symmetric parameters now play a role in matching codecs between senders and receivers, in particular:
The only thing that remains is that the library does not prevent matching incompatible codecs, since there's a fallback matching algorithm that takes into consideration the mime type only: Lines 112 to 117 in 2d529be
|
@Sean-Der this issue was a little bit too generic since it refers to "all codecs", present and future 🤣, let's just say that given all information that we have available right now on the codecs explicitly mentioned in the first post (VP8, VP9, H264, Opus), format matching should work properly. In the future, in case of additional codecs that might require additional matching logic we can open a dedicate issue or even better a PR. What i'm thinking about is:
|
Pion used to match m lines in SDP by doing a simple comparison of the fmtp lines. This does not work in general, as some fmtp parameters are symmetric (they must have the same value on both sides for the m lines to match) and others are declarative (they only give additional information about what the announcing peer is able to send or receive). It might also be the case that some symmetric parameters can be omitted, indicating that the announcer will accept whatever value the other side finds convenient (not sure, the RFCs are unclear on this subject).
Here's the situation, as far as I can tell from a quick browse of the relevant documents:
max-fr
andmax-fs
are declarative.profile-id
is symmetric, but may be omitted;max-fr
andmax-fs
are declarative.profile-level-id
andpacketization-mode
are symmetric, with weird matching forprofile-level-id
(see Improved h264 fmtp line parsing #1903);level-asymmetry-allowed
changes the matching algorithm;sprop-parameter-sets
.The text was updated successfully, but these errors were encountered: