mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-05-04 18:09:12 +03:00
Client PlayMethod=Transcode request not honored by server #7780
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ddemarco5 on GitHub (Nov 17, 2025).
Description of the bug
Using Firefox 145.00 with HEVC Video Extensions on windows, or a build with vaapi support on linux --
playing a video file with both dovi and HDR10 and only mixed metadata, hdr video is incorrectly streamed directly to the Firefox client when it should be transcoded for the reason
VideoRangeTypeNotSupportedNote that this behavior is not observed on a video file with only HDR10 metadata or only dovi layers
Reproduction steps
What is the current bug behavior?
The web client GetPostedPlaybackInfo profile correctly identifies that it has a VideoRangeType condition of SDR on the hevc codec profile (GetPostedPlaybackInfo.json) and makes a correct request for a transcoded video for the reason of unsupported video range.
The details of this request are seemingly ignored, and a transcoded video stream is initialized that is a remux of the unmodified video stream into an hls container, and not the tonemapped re-encode requested of it.
What is the expected correct behavior?
the video sent by the server should adhere to the request of the client
Jellyfin Server version
10.11.0+
Specify commit id
No response
Specify unstable release number
No response
Specify version number
10.11.3
Specify the build version
10.11.3
Environment
Jellyfin logs
FFmpeg logs
Client / Browser logs
No response
Relevant screenshots or videos
No response
Additional information
No response
@ddemarco5 commented on GitHub (Nov 19, 2025):
thanks for the work on this @gnattu !
I've got a question to satiate my own personal curiosity... feel free to ignore me if you don't have the time.
This fix will solve the underlying issue, but I'm curious as to why the jellyfin server doesn't necessarily adhere to what the client is requesting.
Would you (or anyone) be able to give me the tl;dr of this logic flow? In the future I'd like to just be able to fix these things myself and submit a PR to take the load off everyone dedicated to working on bugs.
Thanks!