{
"Name": "AndroidTV-Default",
"MaxStreamingBitrate": 200000000,
"MaxStaticBitrate": 200000000,
"DirectPlayProfiles": [
{
"Container": "asf,hls,m4v,mkv,mov,mp4,ogm,ogv,ts,vob,webm,wmv,xvid",
"AudioCodec": "aac,aac_latm,ac3,alac,dca,dts,eac3,flac,mlp,mp2,mp3,opus,pcm_alaw,pcm_mulaw,pcm_s16le,pcm_s20le,pcm_s24le,truehd,vorbis",
"VideoCodec": "av1,h264,hevc,mpeg,mpeg2video,vc1,vp8,vp9",
"Type": "Video"
},
{
"Container": "",
"AudioCodec": "aac,aac_latm,ac3,alac,dca,dts,eac3,flac,mlp,mp2,mp3,opus,pcm_alaw,pcm_mulaw,pcm_s16le,pcm_s20le,pcm_s24le,truehd,vorbis",
"VideoCodec": "",
"Type": "Audio"
}
],
"TranscodingProfiles": [
{
"Container": "ts",
"Type": "Video",
"VideoCodec": "hevc,h264",
"AudioCodec": "aac,aac_latm,ac3,alac,dca,dts,eac3,flac,mlp,mp2,mp3,opus,pcm_alaw,pcm_mulaw,pcm_s16le,pcm_s20le,pcm_s24le,truehd,vorbis",
"Protocol": "hls",
"EnableSubtitlesInManifest": true,
"Conditions": []
},
{
"Container": "ts",
"Type": "Audio",
"VideoCodec": "",
"AudioCodec": "aac",
"Protocol": "hls",
"Conditions": []
}
],
"ContainerProfiles": [],
"CodecProfiles": [
{
"Type": "Video",
"Conditions": [
{
"Condition": "EqualsAny",
"Property": "VideoProfile",
"Value": "high|main|baseline|constrained baseline",
"IsRequired": false
}
],
"ApplyConditions": [],
"Codec": "h264"
},
{
"Type": "Video",
"Conditions": [
{
"Condition": "LessThanEqual",
"Property": "VideoLevel",
"Value": "50",
"IsRequired": false
}
],
"ApplyConditions": [
{
"Condition": "EqualsAny",
"Property": "VideoProfile",
"Value": "high|main|baseline|constrained baseline",
"IsRequired": false
}
],
"Codec": "h264"
},
{
"Type": "Video",
"Conditions": [
{
"Condition": "LessThanEqual",
"Property": "RefFrames",
"Value": "12",
"IsRequired": false
}
],
"ApplyConditions": [
{
"Condition": "GreaterThanEqual",
"Property": "Width",
"Value": "1200",
"IsRequired": false
}
],
"Codec": "h264"
},
{
"Type": "Video",
"Conditions": [
{
"Condition": "LessThanEqual",
"Property": "RefFrames",
"Value": "4",
"IsRequired": false
}
],
"ApplyConditions": [
{
"Condition": "GreaterThanEqual",
"Property": "Width",
"Value": "1900",
"IsRequired": false
}
],
"Codec": "h264"
},
{
"Type": "Video",
"Conditions": [
{
"Condition": "EqualsAny",
"Property": "VideoProfile",
"Value": "main",
"IsRequired": false
}
],
"ApplyConditions": [],
"Codec": "hevc"
},
{
"Type": "Video",
"Conditions": [
{
"Condition": "LessThanEqual",
"Property": "VideoLevel",
"Value": "120",
"IsRequired": false
}
],
"ApplyConditions": [
{
"Condition": "Equals",
"Property": "VideoProfile",
"Value": "main",
"IsRequired": false
}
],
"Codec": "hevc"
},
{
"Type": "Video",
"Conditions": [
{
"Condition": "Equals",
"Property": "VideoProfile",
"Value": "none",
"IsRequired": false
}
],
"ApplyConditions": [],
"Codec": "av1"
},
{
"Type": "Video",
"Conditions": [
{
"Condition": "Equals",
"Property": "VideoProfile",
"Value": "none",
"IsRequired": false
}
],
"ApplyConditions": [],
"Codec": "vc1"
},
{
"Type": "Video",
"Conditions": [
{
"Condition": "LessThanEqual",
"Property": "Width",
"Value": "1920",
"IsRequired": false
},
{
"Condition": "LessThanEqual",
"Property": "Height",
"Value": "1088",
"IsRequired": false
}
],
"ApplyConditions": [],
"Codec": "h264"
},
{
"Type": "Video",
"Conditions": [
{
"Condition": "LessThanEqual",
"Property": "Width",
"Value": "1920",
"IsRequired": false
},
{
"Condition": "LessThanEqual",
"Property": "Height",
"Value": "1088",
"IsRequired": false
}
],
"ApplyConditions": [],
"Codec": "hevc"
},
{
"Type": "Video",
"Conditions": [
{
"Condition": "LessThanEqual",
"Property": "Width",
"Value": "0",
"IsRequired": false
},
{
"Condition": "LessThanEqual",
"Property": "Height",
"Value": "0",
"IsRequired": false
}
],
"ApplyConditions": [],
"Codec": "av1"
},
{
"Type": "Video",
"Conditions": [
{
"Condition": "LessThanEqual",
"Property": "Width",
"Value": "0",
"IsRequired": false
},
{
"Condition": "LessThanEqual",
"Property": "Height",
"Value": "0",
"IsRequired": false
}
],
"ApplyConditions": [],
"Codec": "vc1"
},
{
"Type": "Video",
"Conditions": [
{
"Condition": "NotEquals",
"Property": "VideoRangeType",
"Value": "DOVIInvalid|DOVI|DOVIWithHDR10|DOVIWithHDR10Plus|HDR10Plus|HDR10",
"IsRequired": false
}
],
"ApplyConditions": [
{
"Condition": "EqualsAny",
"Property": "VideoRangeType",
"Value": "DOVIInvalid|DOVI|DOVIWithHDR10|DOVIWithHDR10Plus|HDR10Plus|HDR10",
"IsRequired": false
}
],
"Codec": "av1"
},
{
"Type": "Video",
"Conditions": [
{
"Condition": "NotEquals",
"Property": "VideoRangeType",
"Value": "DOVIInvalid|DOVIWithEL|DOVIWithELHDR10Plus|DOVI|DOVIWithHDR10|DOVIWithHDR10Plus|HDR10Plus|HDR10",
"IsRequired": false
}
],
"ApplyConditions": [
{
"Condition": "EqualsAny",
"Property": "VideoRangeType",
"Value": "DOVIInvalid|DOVIWithEL|DOVIWithELHDR10Plus|DOVI|DOVIWithHDR10|DOVIWithHDR10Plus|HDR10Plus|HDR10",
"IsRequired": false
}
],
"Codec": "hevc"
},
{
"Type": "VideoAudio",
"Conditions": [
{
"Condition": "LessThanEqual",
"Property": "AudioChannels",
"Value": "8",
"IsRequired": false
}
],
"ApplyConditions": []
}
],
"SubtitleProfiles": [
{
"Format": "vtt",
"Method": "Embed"
},
{
"Format": "vtt",
"Method": "External"
},
{
"Format": "vtt",
"Method": "Hls"
},
{
"Format": "webvtt",
"Method": "Embed"
},
{
"Format": "webvtt",
"Method": "External"
},
{
"Format": "webvtt",
"Method": "Hls"
},
{
"Format": "srt",
"Method": "Embed"
},
{
"Format": "srt",
"Method": "External"
},
{
"Format": "subrip",
"Method": "Embed"
},
{
"Format": "subrip",
"Method": "External"
},
{
"Format": "ttml",
"Method": "Embed"
},
{
"Format": "ttml",
"Method": "External"
},
{
"Format": "dvbsub",
"Method": "Embed"
},
{
"Format": "dvbsub",
"Method": "Encode"
},
{
"Format": "dvdsub",
"Method": "Embed"
},
{
"Format": "dvdsub",
"Method": "Encode"
},
{
"Format": "idx",
"Method": "Embed"
},
{
"Format": "idx",
"Method": "Encode"
},
{
"Format": "pgs",
"Method": "Embed"
},
{
"Format": "pgs",
"Method": "Encode"
},
{
"Format": "pgssub",
"Method": "Embed"
},
{
"Format": "pgssub",
"Method": "Encode"
},
{
"Format": "ass",
"Method": "Encode"
},
{
"Format": "ssa",
"Method": "Encode"
}
]
}
This issue respects the following points:
Describe the bug
Description
When watching TV episodes in sequence, subtitle preferences do not
persist between episodes. Each time a new episode begins — whether
via autoplay or by manually pressing the Next Episode button — the
subtitle track is fully deselected and the subtitle menu shows 'None'
selected. The user must manually re-select their preferred subtitle
track for every single episode.
This is a full preference reset, not a rendering failure. The subtitle
menu confirms 'None' is actively selected when the next episode starts,
meaning the previous episode's subtitle choice is not being carried
forward at all.
This was not reproducible on version 0.18.x. The regression appears
to have been introduced in the 0.19.x release series.
Steps to Reproduce
OR manually press the Next Episode button in the player
not the previously chosen track
Expected Behavior
The subtitle track selected during episode playback should persist
automatically to the next episode in the same viewing session,
matching the subtitle preference set on the server (mode: Always,
language: English).
Actual Behavior
The subtitle selection resets to 'None' on every episode transition.
This occurs with both subtitle types (SRT text-based and PGS
image-based) and regardless of whether the next episode starts via
autoplay or manual Next Episode button press.
Workaround Attempted
English (Dashboard → User Settings → Subtitles). Issue persists.
transitions.
Environment
PGS (image-based)
Additional Context
This issue appears to be a regression from 0.18.x where subtitle
persistence between episodes worked correctly. Downgrading to
0.18.11 resolves the issue, confirming this is specific to the
0.19.x release series.
Related issues: #5425, #4643
Media info of the file
Media capabilities report
client: Jellyfin for Android TV
client_version: 0.19.7
client_repository: https://github.com/jellyfin/jellyfin-androidtv
type: media_capabilities_report
format: markdown
Generated device profile
{ "Name": "AndroidTV-Default", "MaxStreamingBitrate": 200000000, "MaxStaticBitrate": 200000000, "DirectPlayProfiles": [ { "Container": "asf,hls,m4v,mkv,mov,mp4,ogm,ogv,ts,vob,webm,wmv,xvid", "AudioCodec": "aac,aac_latm,ac3,alac,dca,dts,eac3,flac,mlp,mp2,mp3,opus,pcm_alaw,pcm_mulaw,pcm_s16le,pcm_s20le,pcm_s24le,truehd,vorbis", "VideoCodec": "av1,h264,hevc,mpeg,mpeg2video,vc1,vp8,vp9", "Type": "Video" }, { "Container": "", "AudioCodec": "aac,aac_latm,ac3,alac,dca,dts,eac3,flac,mlp,mp2,mp3,opus,pcm_alaw,pcm_mulaw,pcm_s16le,pcm_s20le,pcm_s24le,truehd,vorbis", "VideoCodec": "", "Type": "Audio" } ], "TranscodingProfiles": [ { "Container": "ts", "Type": "Video", "VideoCodec": "hevc,h264", "AudioCodec": "aac,aac_latm,ac3,alac,dca,dts,eac3,flac,mlp,mp2,mp3,opus,pcm_alaw,pcm_mulaw,pcm_s16le,pcm_s20le,pcm_s24le,truehd,vorbis", "Protocol": "hls", "EnableSubtitlesInManifest": true, "Conditions": [] }, { "Container": "ts", "Type": "Audio", "VideoCodec": "", "AudioCodec": "aac", "Protocol": "hls", "Conditions": [] } ], "ContainerProfiles": [], "CodecProfiles": [ { "Type": "Video", "Conditions": [ { "Condition": "EqualsAny", "Property": "VideoProfile", "Value": "high|main|baseline|constrained baseline", "IsRequired": false } ], "ApplyConditions": [], "Codec": "h264" }, { "Type": "Video", "Conditions": [ { "Condition": "LessThanEqual", "Property": "VideoLevel", "Value": "50", "IsRequired": false } ], "ApplyConditions": [ { "Condition": "EqualsAny", "Property": "VideoProfile", "Value": "high|main|baseline|constrained baseline", "IsRequired": false } ], "Codec": "h264" }, { "Type": "Video", "Conditions": [ { "Condition": "LessThanEqual", "Property": "RefFrames", "Value": "12", "IsRequired": false } ], "ApplyConditions": [ { "Condition": "GreaterThanEqual", "Property": "Width", "Value": "1200", "IsRequired": false } ], "Codec": "h264" }, { "Type": "Video", "Conditions": [ { "Condition": "LessThanEqual", "Property": "RefFrames", "Value": "4", "IsRequired": false } ], "ApplyConditions": [ { "Condition": "GreaterThanEqual", "Property": "Width", "Value": "1900", "IsRequired": false } ], "Codec": "h264" }, { "Type": "Video", "Conditions": [ { "Condition": "EqualsAny", "Property": "VideoProfile", "Value": "main", "IsRequired": false } ], "ApplyConditions": [], "Codec": "hevc" }, { "Type": "Video", "Conditions": [ { "Condition": "LessThanEqual", "Property": "VideoLevel", "Value": "120", "IsRequired": false } ], "ApplyConditions": [ { "Condition": "Equals", "Property": "VideoProfile", "Value": "main", "IsRequired": false } ], "Codec": "hevc" }, { "Type": "Video", "Conditions": [ { "Condition": "Equals", "Property": "VideoProfile", "Value": "none", "IsRequired": false } ], "ApplyConditions": [], "Codec": "av1" }, { "Type": "Video", "Conditions": [ { "Condition": "Equals", "Property": "VideoProfile", "Value": "none", "IsRequired": false } ], "ApplyConditions": [], "Codec": "vc1" }, { "Type": "Video", "Conditions": [ { "Condition": "LessThanEqual", "Property": "Width", "Value": "1920", "IsRequired": false }, { "Condition": "LessThanEqual", "Property": "Height", "Value": "1088", "IsRequired": false } ], "ApplyConditions": [], "Codec": "h264" }, { "Type": "Video", "Conditions": [ { "Condition": "LessThanEqual", "Property": "Width", "Value": "1920", "IsRequired": false }, { "Condition": "LessThanEqual", "Property": "Height", "Value": "1088", "IsRequired": false } ], "ApplyConditions": [], "Codec": "hevc" }, { "Type": "Video", "Conditions": [ { "Condition": "LessThanEqual", "Property": "Width", "Value": "0", "IsRequired": false }, { "Condition": "LessThanEqual", "Property": "Height", "Value": "0", "IsRequired": false } ], "ApplyConditions": [], "Codec": "av1" }, { "Type": "Video", "Conditions": [ { "Condition": "LessThanEqual", "Property": "Width", "Value": "0", "IsRequired": false }, { "Condition": "LessThanEqual", "Property": "Height", "Value": "0", "IsRequired": false } ], "ApplyConditions": [], "Codec": "vc1" }, { "Type": "Video", "Conditions": [ { "Condition": "NotEquals", "Property": "VideoRangeType", "Value": "DOVIInvalid|DOVI|DOVIWithHDR10|DOVIWithHDR10Plus|HDR10Plus|HDR10", "IsRequired": false } ], "ApplyConditions": [ { "Condition": "EqualsAny", "Property": "VideoRangeType", "Value": "DOVIInvalid|DOVI|DOVIWithHDR10|DOVIWithHDR10Plus|HDR10Plus|HDR10", "IsRequired": false } ], "Codec": "av1" }, { "Type": "Video", "Conditions": [ { "Condition": "NotEquals", "Property": "VideoRangeType", "Value": "DOVIInvalid|DOVIWithEL|DOVIWithELHDR10Plus|DOVI|DOVIWithHDR10|DOVIWithHDR10Plus|HDR10Plus|HDR10", "IsRequired": false } ], "ApplyConditions": [ { "Condition": "EqualsAny", "Property": "VideoRangeType", "Value": "DOVIInvalid|DOVIWithEL|DOVIWithELHDR10Plus|DOVI|DOVIWithHDR10|DOVIWithHDR10Plus|HDR10Plus|HDR10", "IsRequired": false } ], "Codec": "hevc" }, { "Type": "VideoAudio", "Conditions": [ { "Condition": "LessThanEqual", "Property": "AudioChannels", "Value": "8", "IsRequired": false } ], "ApplyConditions": [] } ], "SubtitleProfiles": [ { "Format": "vtt", "Method": "Embed" }, { "Format": "vtt", "Method": "External" }, { "Format": "vtt", "Method": "Hls" }, { "Format": "webvtt", "Method": "Embed" }, { "Format": "webvtt", "Method": "External" }, { "Format": "webvtt", "Method": "Hls" }, { "Format": "srt", "Method": "Embed" }, { "Format": "srt", "Method": "External" }, { "Format": "subrip", "Method": "Embed" }, { "Format": "subrip", "Method": "External" }, { "Format": "ttml", "Method": "Embed" }, { "Format": "ttml", "Method": "External" }, { "Format": "dvbsub", "Method": "Embed" }, { "Format": "dvbsub", "Method": "Encode" }, { "Format": "dvdsub", "Method": "Embed" }, { "Format": "dvdsub", "Method": "Encode" }, { "Format": "idx", "Method": "Embed" }, { "Format": "idx", "Method": "Encode" }, { "Format": "pgs", "Method": "Embed" }, { "Format": "pgs", "Method": "Encode" }, { "Format": "pgssub", "Method": "Embed" }, { "Format": "pgssub", "Method": "Encode" }, { "Format": "ass", "Method": "Encode" }, { "Format": "ssa", "Method": "Encode" } ] }Device codec decoders
OMX.MTK.AUDIO.DECODER.MP3
OMX.MTK.VIDEO.DECODER.AVC
OMX.MTK.VIDEO.DECODER.AVC.secure
OMX.MTK.VIDEO.DECODER.H263
OMX.MTK.VIDEO.DECODER.HEVC
OMX.MTK.VIDEO.DECODER.HEVC.secure
OMX.MTK.VIDEO.DECODER.MPEG2
OMX.MTK.VIDEO.DECODER.MPEG4
OMX.dolby.ac3.decoder
OMX.dolby.eac3.decoder
OMX.dolby.eac3_joc.decoder
OMX.google.aac.decoder
OMX.google.amrnb.decoder
OMX.google.g711.alaw.decoder
OMX.google.g711.mlaw.decoder
OMX.google.gsm.decoder
OMX.google.h263.decoder
OMX.google.h264.decoder
OMX.google.mp3.decoder
OMX.google.mpeg4.decoder
OMX.google.opus.decoder
OMX.google.raw.decoder
OMX.google.vorbis.decoder
OMX.google.vp8.decoder
OMX.google.vp9.decoder
Known media types
Codec HDR Support
HEVC
Display information
Id:
0Name:
Built-in ScreenRotation: 0°
Refresh rate:
59.94VSYNC offset:
-5msPresentation deadline:
22.683350msApp information
App version:
0.19.7(190799)Package name:
org.jellyfin.androidtvDevice information
Android version:
5.1.1Device brand:
AmazonDevice product:
full_tankDevice model:
AFTTDevice manufacturer:
AmazonDevice codename:
tankClient logs
No response
FFmpeg logs
Application version
0.19.7
Where did you install the app from?
Amazon Appstore
Device information
Amazon Fire Stick (2019, 3rd Gen)
Android version
Fire OS 5.2.9.5
Jellyfin server version
10.11.7
Other sources
No response