You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With some of my media files I'm getting an error before playback start, and the subtitle selection dialog doesn't show up.
2024-11-29 21:04:06.424 T:5108 info <general>: JELLYFIN.__main__ -> ERROR::default.py:23 list index out of range
Traceback (most recent call last):
File "default.py", line 21, in <module>
Events()
File "jellyfin_kodi\entrypoint\default.py", line 108, in __init__
Actions(server, api_client).play(
File "jellyfin_kodi\objects\actions.py", line 78, in play
source = play.select_source(play.get_sources())
File "jellyfin_kodi\helper\playutils.py", line 126, in select_source
self.get(source, audio, subtitle)
File "jellyfin_kodi\helper\playutils.py", line 214, in get
self.transcode(source, audio, subtitle)
File "jellyfin_kodi\helper\playutils.py", line 270, in transcode
manual_tracks = self.get_audio_subs(source, audio, subtitle)
File "jellyfin_kodi\helper\playutils.py", line 690, in get_audio_subs
selection = list(["No subtitles"]) + list(
File "jellyfin_kodi\helper\playutils.py", line 641, in get_track_title
return streams[track_index]["DisplayTitle"] or ("Track %s" % track_index)
IndexError: list index out of range
It seems like the key/index within the streams list isn't necessary the same as value in streams[k]['Index'] which is used to populate subs_streams list. This results in out-of-range error while getting the track titles for the subtitle selection dialog.
On my JF instance, the error shows up for some media files that contain embedded subtitles, while also having external .srt subtitle files right next to the video file. I haven't looked how/where the 'Index' value is sourced in the jf server response.
Similar issue might occur with audio_streams and the audio selection dialog (by looking at the source code), but I wasn't able to produce an example.
Dirty and suboptimal fix that I quickly applied to my Kodi device is to loop the streams list and search for the real index.
def get_track_title(track_index):
for s in streams:
if s['Index'] == track_index:
return s["DisplayTitle"] or ("Track %s" % track_index)
return "Track %s" % track_index
But there might be more places where the streams list is accessed incorrectly.
The text was updated successfully, but these errors were encountered:
With some of my media files I'm getting an error before playback start, and the subtitle selection dialog doesn't show up.
It seems like the key/index within the
streams
list isn't necessary the same as value instreams[k]['Index']
which is used to populatesubs_streams
list. This results in out-of-range error while getting the track titles for the subtitle selection dialog.On my JF instance, the error shows up for some media files that contain embedded subtitles, while also having external .srt subtitle files right next to the video file. I haven't looked how/where the 'Index' value is sourced in the jf server response.
Similar issue might occur with
audio_streams
and the audio selection dialog (by looking at the source code), but I wasn't able to produce an example.Dirty and suboptimal fix that I quickly applied to my Kodi device is to loop the streams list and search for the real index.
But there might be more places where the streams list is accessed incorrectly.
The text was updated successfully, but these errors were encountered: