-
-
Notifications
You must be signed in to change notification settings - Fork 147
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Respect transcoding user policy #1383
Conversation
Tested this and it works fine. Removing draft tag |
I tested this last night and it still selected a default audio track which was unsupported by the wireless headphones (DTS rather than AAC). |
@wwall3r the device profile gets sent to the server at startup and when the hardware config changes(at least it's supposed to. you can search your logs for When exactly are you connecting your wireless headphones? For example, if you start the movie and then connect the headphones it's not going to work as the profile was built using your device and there isn't time to build a new device profile and send it to the server. Can you try connecting your headphones ASAP, before you start the jellyfin app if possible, and see if that fixes it? |
The headphones were connected before starting Jellyfin. I can try it again with the logging connected later. |
@wwall3r interesting thanks. I don't understand how your code change fixed the issue then. You are using the same function we use to build the device profile - Sounds good, thank you. Please post the entire log if you can - copy/paste the "Output" tab if using VSCode to deploy |
I turned on the Jellyfin Server debug logs, and I think the issue is that the Roku is only reporting 2 channel support, despite the fact that it can downmix 5.1 itself.
|
Shouldn't this be solely handled by server? |
@Shadowghost I'm not sure what the servers role is in all this. All I know is without this PR, our client will try to transcode files as needed and will completely ignore what the user policy says. |
It should work like this: client builds profile based on what it can playback (codecs, audio channels, HDR, etc.) and sends it to server with the play request. Server then selects the best transcoding choice to match the supported client capabilities or direct plays if all codecs are compatible |
As noted in the discussion and the PR comment, Jellyfin allows for users to have varying permissions regarding transcoding. In this case, none of my users are allowed transcoding due to limited server hardware. Therefore direct play is the only thing that works. The problem is that the correct audio track is not being chosen by the Roku client when an item is selected. If I manually choose "Options > Audio > AAC track," it works fine. The goal here is to have the client choose that track automatically based on the current hardware configuration. Edit:
One DTS track for when it is plugged directly into the receiver (works). One AAC track for when wireless headphones are connected (works, but is not chosen automatically by the client in that hardware configuration). |
That does make sense. I guess my train of thoughts went in the totally wrong direction 😅 |
is this how any other clients handle it? I'm not against the code is very clean im just confused why we need to do this. |
Both the Web and Android clients had similar issues on my mobile phone. However, that is due to a separate issue where the hardware does not report native If the clients do not intend to support this feature from the server, I can enable transcoding. However, I'm pretty much screwed any time it attempts to transcode a video stream due to the low-end hardware on which my server is running. Audio and containers transcode well. |
Does the audio transcode setting only affect audio file playback and the video transcode setting only affect video playback? Or does the audio setting impact the audio in video files? The reason I ask, enabling/disabling audio transcoding appears to work on audio files already in the prod client. |
@1hitsong great question and good catch. I don't know the answer. We may not even need this PR because I was told that the server will enforce this in v10.9.0 but I never spun up the v10.9.0 beta server to test. |
This pull request has merge conflicts. Please resolve the conflicts so the PR can be reviewed. Thanks! |
This pull request has merge conflicts. Please resolve the conflicts so the PR can be reviewed. Thanks! |
This pull request has merge conflicts. Please resolve the conflicts so the PR can be reviewed. Thanks! |
This pull request has merge conflicts. Please resolve the conflicts so the PR can be reviewed. Thanks! |
These settings are accessed from the admin dashboard in the web client. Select "Users" then select a user to see the options.
Changes
Issues
Fixes #1382