New user preference to disable Dolby Vision - #1644
Conversation
…ofiles. This gives the user the ability to turn off problematic dolby vision media without relying on KnownDefects.kt to handle all permutations. Additionally, changes were made to workflows/main.yaml and build.gradle.kts making it easier for people who fork the repo to build and have actions.
damontecres
left a comment
There was a problem hiding this comment.
This PR has build script changes unrelated to the suggested feature. I will review this PR once that is fixed.
|
Removed the changes to the build and github actions. Let me know if I need to make any other changes before getting a review. Thanks. |
damontecres
left a comment
There was a problem hiding this comment.
I'll admit that I'm not super familiar with Dolby Vision and all of the peculiarities with it, but I do agree that it seems accurately detecting support is difficult so this seems useful.
Thanks for the contribution!
# Conflicts: # app/src/main/java/com/github/damontecres/wholphin/services/DeviceProfileService.kt
Co-authored-by: Damontecres <damontecres@gmail.com>
|
is there a way to obtain a build with the changes here so i can test them? |
To test you'd have to compile and install via ADB. If that is something you are comfortable doing, I'm happy to help walk you through that. Otherwise you'll have to wait for it to land in the app. I was traveling and just got back. My plan is to get this PR ready to go today. |
|
Ok I've addressed all of the comments and moved the setting to the experimental settings rather than combining it with the other Dolby Vision settings. Please review and let me know if there are anything else I need to change. Thanks. |
| doviDeviceCompatibilityMode = newConfig.overrides.doviDeviceCompatibilityMode, | ||
| decodeAv1 = prefs.overrides.decodeAv1, | ||
| preferAc3ForSurround = appPrefs.experimentalPreferences.enabled { preferAc3Surround }, | ||
| preferAc3ForSurround = newConfig.experimental.enabled { preferAc3Surround }, |
There was a problem hiding this comment.
I changed this to use newConfig so it is consistent with how all the other ones are done is this block.
…e). The master toggle will turn these off.

The PR adds a user preference to control dolby vision support in device profiles. This gives the user the ability to turn off problematic dolby vision media without relying on KnownDefects.kt to handle all permutations.
Background:
My household uses FireTV for streaming our media. I have several different models across multiple generations connected to different brands of TVs. It has been a very frustrating experience trying to get Dolby Vision media to play on those devices. I frequently get a black screen when play DV media by it various by model and TV. This seems to be a very common issue that continues to cause people problems. I tried various fixes including filtering DV codecs with mixed success (it worked on some FireTV / TV combos but not others). Since the problem varies depending on the TV and media, I thought it best to give the user a preference to disable DV compatibility and let the server transcode.
Feature Changes:
Description
Adding a new user preference to disable Dolby Vision when sending device compatibility information to the Jellyfin server.
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 the same flag didn't work. It is a very frustrating user experience and the current work around 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 DV.
jellyfin/jellyfin-androidtv#4021
jellyfin/jellyfin-androidtv#4892
nova-video-player/aos-AVP#1503
https://www.reddit.com/r/jellyfin/comments/12jqoxh/dolby_vision_video_not_working_on_fire_stick_4k/
Testing
FireTV 4K (gen 1) + Vizio
FireTV 4K Max (gen 1) + LG
FireTV 4K Max (gen 2) + Vizio
FireTV (gen 1) + Olevia
Screenshots
AI or LLM usage
I used Claude Code to help guide me through the unfamiliar repo and to prototype solutions. The current code in the PR is my own.