New user preference to force enable or disable common HDR and Dolby Vision formats (#1644)
Description Adding per-format HDR override preferences (HDR10, HDR10+, Dolby Vision Profile 5/7/8) to control device compatibility information sent to the Jellyfin server, so users can force specific formats on or off independently instead of disabling Dolby Vision as a whole. Related issues This is a common problem across the Jellyfin ecosystem, but there isn't a specific issue for Wholphin. My experience is the issue is FireTV (model and generation) + TV dependent + media dependent. I tested videos from https://kodi.wiki/view/Samples with the same DOVIWithHDR10 flag that worked while other movies I have with It is a very frustrating user experience and the current workaround of setting the bitrate really low to force a transcode is sub-optimal IMO as it lowers the video quality. This allows the user to maintain full quality while disabling only the specific format(s) causing problems. https://github.com/jellyfin/jellyfin-androidtv/issues/4021 https://github.com/jellyfin/jellyfin-androidtv/issues/4892 https://github.com/nova-video-player/aos-AVP/issues/1503 https://www.reddit.com/r/jellyfin/comments/12jqoxh/dolby_vision_video_not_working_on_fire_stick_4k/ Testing <!-- Describe how this change was tested and on what device(s) --> FireTV 4K (gen 1) + Vizio FireTV 4K Max (gen 1) + LG FireTV 4K Max (gen 2) + Vizio FireTV (gen 1) + Olevia AI or LLM usage Claude code assisted and wrote much of the code in this PR. I've reviewed it all and run the pre-commit linting and formatting. --------- Co-authored-by: Damontecres <damontecres@gmail.com>
This commit is contained in:
parent
f01c5d367c
commit
9f557416ea
12 changed files with 468 additions and 37 deletions
|
|
@ -54,10 +54,15 @@ message PlaybackOverrides{
|
|||
bool direct_play_ass = 3 [deprecated = true];
|
||||
bool direct_play_pgs = 4;
|
||||
MediaExtensionStatus media_extensions_enabled = 5;
|
||||
bool direct_play_dolby_vision_e_l = 6;
|
||||
bool direct_play_dolby_vision_e_l = 6 [deprecated = true];
|
||||
bool decode_av1 = 7;
|
||||
AssPlaybackMode ass_playback_mode = 8;
|
||||
int32 max_resolution = 9;
|
||||
HdrOverrideMode dovi_profile_5_override = 10;
|
||||
HdrOverrideMode dovi_profile_7_override = 11;
|
||||
HdrOverrideMode dovi_profile_8_override = 12;
|
||||
HdrOverrideMode hdr10_override = 13;
|
||||
HdrOverrideMode hdr10_plus_override = 14;
|
||||
}
|
||||
|
||||
message PlaybackPreferences {
|
||||
|
|
@ -224,6 +229,12 @@ message MusicPreferences {
|
|||
bool show_backdrop = 4;
|
||||
}
|
||||
|
||||
enum HdrOverrideMode{
|
||||
HDR_OVERRIDE_AUTO = 0;
|
||||
HDR_OVERRIDE_ENABLE = 1;
|
||||
HDR_OVERRIDE_DISABLE = 2;
|
||||
}
|
||||
|
||||
message ExperimentalPreferences {
|
||||
bool enabled = 1;
|
||||
bool video_tunneling_enabled = 2;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue