This issue respects the following points:
Describe the bug
Description
The Jellyfin Android TV client appears to persist the audio language of the last played item across completely unrelated series.
My Jellyfin user has German configured as the preferred audio language and "Select audio track based on previous item" is disabled.
After a fresh restart of the NVIDIA Shield, content containing German and English correctly starts with German.
However, simply playing an episode from a completely different series that contains only an English audio track for about 5 seconds is enough to change this behavior.
When I then stop playback and start an episode from another series containing both German and English audio tracks, Android TV selects English instead of German.
No manual audio-track selection is necessary to trigger the issue.
Steps to reproduce
-
Configure the Jellyfin user with:
- Preferred audio language: German
- Play default audio track regardless of language: Disabled
- Select audio track based on previous item: Disabled
-
Restart the NVIDIA Shield.
-
Open Jellyfin Android TV.
-
Start an episode from Series A containing both German and English audio tracks.
- German is selected correctly.
-
Stop playback.
-
Start an episode from an unrelated Series B that contains only one English audio track.
-
Let Series B play for approximately 5 seconds.
-
Stop playback and return to the Jellyfin UI.
-
Start an episode from Series A (or another unrelated series containing German and English audio tracks).
-
The English audio track is now selected instead of German.
Expected behavior
The configured preferred audio language should be evaluated when starting an item.
With German configured as the preferred language, the expected behavior is:
- German available → select German
- German unavailable → use another available/default language as fallback
- German available again in the next item → select German again
For example:
Series A:
German + English
→ German
Series B:
English only
→ English
Series C:
German + English
→ German
Playing an item where English is the only available language should not change the user's preferred audio language to English.
Actual behavior
The behavior currently looks like this:
Series A:
German + English
→ German
Series B:
English only
→ English
Series C:
German + English
→ English
After playing the English-only item, English appears to be retained as the preferred/last audio language by the Android TV client and is then selected for subsequently played content.
This also happens across completely unrelated series.
After restarting the NVIDIA Shield, German is selected correctly again until English-only content is played.
Important observation
No manual audio-track selection is required to reproduce this issue.
Merely starting an item that contains only an English audio track for a few seconds is sufficient for English to become the selected language for subsequently played unrelated content.
This is important because the use of English in this situation is not a user choice.
English is only being played because the previous item does not provide the user's preferred language.
The fact that an item only provides English should therefore not be interpreted as the user changing their language preference to English.
It is merely a necessary fallback because the preferred language is unavailable.
Why this behavior is problematic
The current Android TV behavior makes it effectively impossible to configure a reliable preferred audio language.
The Jellyfin server already provides explicit per-user settings for this behavior:
- Preferred audio language: German
- Select audio track based on previous item: Disabled
However, the Android TV client appears to override these preferences with its own remembered audio-language state.
From a user's perspective, one of the following behaviors should be implemented:
Option 1: Respect the server-side user preference
If "Select audio track based on previous item" is disabled, the Android TV client should not carry the previously played language over to another item.
The configured preferred audio language should take precedence whenever that language is available.
In this example:
Preferred language:
German
Series A:
English only
→ English (correct fallback)
Series B:
German + English
→ German
OR
Option 2: Provide a client-side setting to disable language persistence
If retaining the last played audio language across items is intentionally an Android TV-specific feature, there should be an option in the Android TV client to disable it.
Currently there appears to be no way for the user to opt out of this behavior.
The fact that Series A only provides English should not be interpreted as a user preference for English. It is merely a necessary fallback because the preferred language is unavailable.
When German becomes available again, the client should return to the configured preferred language.
Therefore, the current behavior should either be tied to and respect the existing server-side "Select audio track based on previous item" setting, or Android TV should expose its own option to disable this language-persistence behavior.
MKV track configuration
The affected German/English media files are also configured correctly at the container level.
The German audio track is:
- the first audio track
- the default audio track
English is the additional/secondary audio track.
Therefore the unexpected English selection is not caused by English being the first/default track in the MKV.
Web client behavior
The same Jellyfin user behaves correctly when using the Jellyfin web client/browser.
The issue appears to be specific to the Android TV client.
Environment
- Jellyfin Server: 10.11.11
- Jellyfin Android TV: 0.19.9
- Device: NVIDIA Shield TV Pro
- Preferred audio language: German
- Play default audio track regardless of language: Disabled
- Select audio track based on previous item: Disabled
Potentially relevant Android TV behavior
Android TV contains playback logic for retaining the previously played audio language using lastPlayedAudioLanguageIsoCode / VideoQueueManager.
The observed behavior suggests that an automatically selected fallback language may be stored as the last played language and subsequently given precedence over the server/user preferred language.
Since this happens:
- without manually selecting English
- across unrelated series
- when "Select audio track based on previous item" is disabled
- and disappears after restarting the Shield/client state
it appears that this client-side audio-language state may be retained or applied more broadly than intended.
Ideally, an automatically selected fallback language should not replace or override the user's configured preferred audio language.
Media info of the file
Media capabilities report
No response
Client logs
No response
FFmpeg logs
Application version
0.19.9
Where did you install the app from?
Google Play Store
Device information
NVIDIA Shield Pro
Android version
Android 11
Jellyfin server version
NVIDIA SHIELD Experience: 9.2.4 (Android TV 11)
Other sources
No response
This issue respects the following points:
Describe the bug
Description
The Jellyfin Android TV client appears to persist the audio language of the last played item across completely unrelated series.
My Jellyfin user has German configured as the preferred audio language and "Select audio track based on previous item" is disabled.
After a fresh restart of the NVIDIA Shield, content containing German and English correctly starts with German.
However, simply playing an episode from a completely different series that contains only an English audio track for about 5 seconds is enough to change this behavior.
When I then stop playback and start an episode from another series containing both German and English audio tracks, Android TV selects English instead of German.
No manual audio-track selection is necessary to trigger the issue.
Steps to reproduce
Configure the Jellyfin user with:
Restart the NVIDIA Shield.
Open Jellyfin Android TV.
Start an episode from Series A containing both German and English audio tracks.
Stop playback.
Start an episode from an unrelated Series B that contains only one English audio track.
Let Series B play for approximately 5 seconds.
Stop playback and return to the Jellyfin UI.
Start an episode from Series A (or another unrelated series containing German and English audio tracks).
The English audio track is now selected instead of German.
Expected behavior
The configured preferred audio language should be evaluated when starting an item.
With German configured as the preferred language, the expected behavior is:
For example:
Series A:
German + English
→ German
Series B:
English only
→ English
Series C:
German + English
→ German
Playing an item where English is the only available language should not change the user's preferred audio language to English.
Actual behavior
The behavior currently looks like this:
Series A:
German + English
→ German
Series B:
English only
→ English
Series C:
German + English
→ English
After playing the English-only item, English appears to be retained as the preferred/last audio language by the Android TV client and is then selected for subsequently played content.
This also happens across completely unrelated series.
After restarting the NVIDIA Shield, German is selected correctly again until English-only content is played.
Important observation
No manual audio-track selection is required to reproduce this issue.
Merely starting an item that contains only an English audio track for a few seconds is sufficient for English to become the selected language for subsequently played unrelated content.
This is important because the use of English in this situation is not a user choice.
English is only being played because the previous item does not provide the user's preferred language.
The fact that an item only provides English should therefore not be interpreted as the user changing their language preference to English.
It is merely a necessary fallback because the preferred language is unavailable.
Why this behavior is problematic
The current Android TV behavior makes it effectively impossible to configure a reliable preferred audio language.
The Jellyfin server already provides explicit per-user settings for this behavior:
However, the Android TV client appears to override these preferences with its own remembered audio-language state.
From a user's perspective, one of the following behaviors should be implemented:
Option 1: Respect the server-side user preference
If "Select audio track based on previous item" is disabled, the Android TV client should not carry the previously played language over to another item.
The configured preferred audio language should take precedence whenever that language is available.
In this example:
Preferred language:
German
Series A:
English only
→ English (correct fallback)
Series B:
German + English
→ German
OR
Option 2: Provide a client-side setting to disable language persistence
If retaining the last played audio language across items is intentionally an Android TV-specific feature, there should be an option in the Android TV client to disable it.
Currently there appears to be no way for the user to opt out of this behavior.
The fact that Series A only provides English should not be interpreted as a user preference for English. It is merely a necessary fallback because the preferred language is unavailable.
When German becomes available again, the client should return to the configured preferred language.
Therefore, the current behavior should either be tied to and respect the existing server-side "Select audio track based on previous item" setting, or Android TV should expose its own option to disable this language-persistence behavior.
MKV track configuration
The affected German/English media files are also configured correctly at the container level.
The German audio track is:
English is the additional/secondary audio track.
Therefore the unexpected English selection is not caused by English being the first/default track in the MKV.
Web client behavior
The same Jellyfin user behaves correctly when using the Jellyfin web client/browser.
The issue appears to be specific to the Android TV client.
Environment
Potentially relevant Android TV behavior
Android TV contains playback logic for retaining the previously played audio language using
lastPlayedAudioLanguageIsoCode/VideoQueueManager.The observed behavior suggests that an automatically selected fallback language may be stored as the last played language and subsequently given precedence over the server/user preferred language.
Since this happens:
it appears that this client-side audio-language state may be retained or applied more broadly than intended.
Ideally, an automatically selected fallback language should not replace or override the user's configured preferred audio language.
Media info of the file
Media capabilities report
No response
Client logs
No response
FFmpeg logs
Application version
0.19.9
Where did you install the app from?
Google Play Store
Device information
NVIDIA Shield Pro
Android version
Android 11
Jellyfin server version
NVIDIA SHIELD Experience: 9.2.4 (Android TV 11)
Other sources
No response