-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Closed
Milestone
Description
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:
- VP8 https://datatracker.ietf.org/doc/html/rfc7741
- both parameters
max-fr
andmax-fs
are declarative.
- both parameters
- VP9 https://datatracker.ietf.org/doc/html/draft-ietf-payload-vp9
- the parameter
profile-id
is symmetric, but may be omitted; - the parameters
max-fr
andmax-fs
are declarative.
- the parameter
- Opus https://datatracker.ietf.org/doc/html/rfc7587
- all parameters are declarative.
- H.264 https://datatracker.ietf.org/doc/html/rfc6184
- the parameters
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;- all other parameters are declarative;
- there are weird rules for
sprop-parameter-sets
.
- the parameters
Metadata
Metadata
Assignees
Labels
No labels