fix: Allow video fourcc to be preserved in HLS#1523
fix: Allow video fourcc to be preserved in HLS#1523gmcgarry wants to merge 12 commits intoshaka-project:mainfrom
Conversation
…the codecs in the master playlist align with the fourcc in the ISOMBFF.
…t codecs in HLS playlists.
joeyparrish
left a comment
There was a problem hiding this comment.
Thank you for your contribution!
|
Looks like a linter failure: https://github.com/shaka-project/shaka-packager/actions/runs/19561653238/job/56069813390?pr=1523 |
|
I tried to fix the linter error for you, but I was denied access. I suspect you have not checked the box that allows maintainers to make edits to your PR. Just let us know when you've pushed a commit to fix the linter. |
Thanks for taking a look. I'll work through the failures. According to GitHub:
|
|
https://github.com/shaka-project/shaka-packager/actions/runs/19584792038/job/56091585523?pr=1523 Running packager/tools/git/check_pylint.py produced: |
Oh, wow, I had no idea. Thanks! |
|
These tests are failing on some jobs and not others. Could there be an uninitialized variable? I can't think of another good reason for the inconsistency. https://github.com/shaka-project/shaka-packager/actions/runs/19586207575/job/56097637486?pr=1523 |
…-video-codecs # Conflicts: # include/packager/hls_params.h # packager/app/hls_flags.cc # packager/app/hls_flags.h # packager/app/packager_main.cc
This fix addresses #1494.
Currently, the behaviour is to substitute the 'dvhe' codec string with 'dvh1' in the HLS master playlist. This is to work-around a bug in the Apple native HLS parser which would fail on 'dvhe'. However, this substitution can cause incompatibility with other devices.
Discussions between Dolby and Apple have confirmed that 'dvhe' streams are supported and this is a bug in the low-level media pipeline. This bug is only present in QuickTime and the native Safari player. Apple will fix in a future update.
Meantime, this patch introduces a new command-line flag to strictly preserve the original video fourcc. The --strict_codecs_signaling flag will disable the substitution logic. The semantics of this option preserve the existing default behaviour of the packager.
As a part of the patch, a broader set of Dolby Vision tests and test material is included. The test material comes from Dolby's Reference Media Kit and licensed under Creative Commons.