Fix broken playback of video files containing both Dolby Vision and HDR10+#1025
Open
Sirulex wants to merge 1 commit into
Open
Fix broken playback of video files containing both Dolby Vision and HDR10+#1025Sirulex wants to merge 1 commit into
Sirulex wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Description
This Pull Request fixes the broken playback of video files containing both Dolby Vision and HDR10+ on all FireTV OS devices (like the Fire TV Stick 4K Max) and on devices which use the same SoC (MediaTek MT8696), such as the Google TV Streamer.
Thanks for the great work of edde746 from the project https://github.com/edde746/plezy
Issue Being Fixed
The broken playback (complete black screen while audio is still running) is due to a bug in the native ExoPlayer backend. In more detail:
This PR contains an in-place sanitizer for HEVC Annex B buffers carrying both Dolby Vision and HDR10+
dynamic metadata. Some Android TV chipsets fail when a native DV decoder also
receives in-band HDR10+ SEI, so this keeps only the dynamic metadata for the selected decode path.
I don't think there is a specific issue regarding this problem in this repo, but it is documented all over the internet:
google/ExoPlayer#11096
jellyfin/jellyfin-androidtv#5094
edde746/plezy#1296
https://forums.plex.tv/t/files-with-both-hdr10-dovi-profile-8-1-metadata-show-blank-black-screen/831617/179?page=9
Tested On
Checklist