diff --git a/jellyfin_kodi/monitor.py b/jellyfin_kodi/monitor.py index ca10193a..1f86fb78 100644 --- a/jellyfin_kodi/monitor.py +++ b/jellyfin_kodi/monitor.py @@ -389,6 +389,8 @@ class Monitor(xbmc.Monitor): elif command == 'SetSubtitleStreamIndex': self.player.set_audio_subs(None, args['Index']) + # Kodi needs a bit of time to update it's current status + xbmc.sleep(500) self.player.report_playback() elif command == 'DisplayMessage': diff --git a/jellyfin_kodi/player.py b/jellyfin_kodi/player.py index 08b8beb6..8eefaf69 100644 --- a/jellyfin_kodi/player.py +++ b/jellyfin_kodi/player.py @@ -155,6 +155,10 @@ class Player(xbmc.Player): LOG.info("-->[ play/%s ] %s", item['Id'], item) def set_audio_subs(self, audio=None, subtitle=None): + if audio: + audio=int(audio) + if subtitle: + subtitle=int(subtitle) ''' Only for after playback started ''' @@ -169,7 +173,7 @@ class Player(xbmc.Player): if audio and len(self.getAvailableAudioStreams()) > 1: self.setAudioStream(audio - 1) - if subtitle == -1 or subtitle is None: + if subtitle is None or subtitle == -1: self.showSubtitles(False) return