media icon indicating copy to clipboard operation
media copied to clipboard

Add SUPPLEMENTAL-CODECS support in both DASH and HLS

Open ybai001 opened this issue 1 year ago • 2 comments

Add SUPPLEMENTAL-CODECS support in both DASH and HLS. -- HLS Specification: https://developer.apple.com/documentation/http-live-streaming/hls-authoring-specification-for-apple-devices-appendixes#The-SUPPLEMENTAL-CODECS-attribute -- MPEG-DASH Specification: Let me know whether you need a copy of the specification. (See also https://github.com/Dash-Industry-Forum/dash.js/pull/4585)

ybai001 avatar Oct 08 '24 02:10 ybai001

Thanks for the contribution! This is definitely something we don't fully parse yet and were planning to add anyway.

I still need to look through some of the changes in more detail to provide comments, but one high-level one already: It would help to understand why the changes to Format are needed exactly. I was under the impression the codecs field directly and unambiguously maps to any fallback baseline codec that can be used instead, so specifying supplementalCodecs seems redundant? And the videoRange field (if needed) should probably be written into the existing Format.colorInfo.colorRange instead.

tonihei avatar Oct 11 '24 12:10 tonihei

Thanks for quick reply. I think you are right. I'll refine the code to remove the change of Format.java and update corresponding files.

ybai001 avatar Oct 14 '24 05:10 ybai001

Hi, is there any update on this PR? :) Thanks.

ybai001 avatar Dec 13 '24 02:12 ybai001

Sorry for the delay - finally found the time to look into the PR more closely!

The general shape is looking good, but I left some comment for clean up and clarification.

tonihei avatar Dec 17 '24 15:12 tonihei

I tried to import the PR for local testing and noticed that the branch is organization-owned and I would not be able to do a clean merge with formatting fixes.

Do you want to re-open this PR from an individual-owned fork to avoid the an "evil merge" or 'Allow edits from maintainers' (see here)? If that's not possible and you don't mind the unusual merge, we can just continue with the current PR of course.

We discussed this topic internally. Our admin didn't allow to grant permission to others and I cannot contribute code from my personal fork. :( As my previous several contributions, yes, please do evil merge. It seems that it's the only way by now.

ybai001 avatar Dec 19 '24 00:12 ybai001

This is merged now. I did some additional changed based on the internal review, most notably to move the common logic of isDolbyVisionCodec to the MimeTypes class. Are you planning to send a new PR for the missing parsing of the 'dvcC' or 'dvvC' boxes?

tonihei avatar Jan 07 '25 13:01 tonihei

This is merged now. I did some additional changed based on the internal review, most notably to move the common logic of isDolbyVisionCodec to the MimeTypes class. Are you planning to send a new PR for the missing parsing of the 'dvcC' or 'dvvC' boxes?

@tonihei, yes, I have submitted the pull request #2023 based on the latest main branch code today.

ybai001 avatar Jan 08 '25 02:01 ybai001