From 8041a0b9d885549cb393becbe835996fc22ecbd0 Mon Sep 17 00:00:00 2001 From: mani Date: Mon, 5 Jan 2026 18:47:04 +0100 Subject: [PATCH] Improve subtitle track display with codec information Subtitle tracks now display both language and codec type (e.g., 'English (SRT)', 'German (PGS)'). Adds friendly names for common subtitle codecs like SRT, PGS, VobSub, and ASS. Improves user experience when selecting subtitle tracks. --- resources/lib/play_utils.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/resources/lib/play_utils.py b/resources/lib/play_utils.py index 69587bd..a4fa08c 100644 --- a/resources/lib/play_utils.py +++ b/resources/lib/play_utils.py @@ -817,12 +817,18 @@ def audio_subs_pref(url, list_item, media_source, item_id, audio_stream_index, s audio_streams.append(track) elif 'Subtitle' in stream['Type']: - try: - # Track includes language - track = "%s - %s" % (index, stream['Language']) - except KeyError: - # Track doesn't include language - track = "%s - %s" % (index, stream['Codec']) + language = stream.get('Language', 'Unknown') + codec = stream.get('Codec', 'Unknown') + + codec_names = { + 'subrip': 'SRT', + 'hdmv_pgs_subtitle': 'PGS', + 'dvd_subtitle': 'VobSub', + 'ass': 'ASS' + } + codec_display = codec_names.get(codec.lower(), codec.upper()) + + track = "%s - %s (%s)" % (index, language, codec_display) default = stream['IsDefault'] forced = stream['IsForced']