-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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-utils: add AV1 fmtp parsing #3485
base: 0.x
Are you sure you want to change the base?
Conversation
Are browsers negotiating profiles for AV1 too, now? What are the options and what impact does it have? |
Found the new parameters documented here: https://aomediacodec.github.io/av1-rtp-spec/#72-sdp-parameters |
Yeah right now I'm seeing
I can add parsing for those as well. |
0fd40e6
to
123fc36
Compare
Also the code is simpler than I expected since the spec mentions that if the fields aren't present they must default to profile=0, level_idx=5 and tier=0 respectively. |
123fc36
to
0111eed
Compare
That helps with generating a valid fmtp, but I suspect would not be enough, especially since when generating answers, providing a profile (and maybe more) acts as a way to filter/find the specific payload type we want to access. We currently use the VP9/H.264 profile as a parameter to add to this request, for instance
where we look for the payload type associated with that codec and that specific profile. Your patch adds AV1 as a potential profile for that filtering, but since the profile on its own may not be enough, this could result in the wrong payload type being selected if there's multiple AV1 fmtp lines with the same profile but different tiers/layers. Not sure how this should be addressed: we could extend the signature of I think that for now we can live with just using the profile for filtering. If it turns out it causes the problems that I mentioned (I haven't checked how many options browsers give for AV1) we can revisit this. I guess we'll also need to ensure this doesn't break AV1 for browsers that don't use profiles: e.g., what if Chrome adds one, but Firefox doesn't? |
This matches what is already done for VP9 and H264.