diff --git a/resources/lib/playback_decision.py b/resources/lib/playback_decision.py index 224d2850..8443efbe 100644 --- a/resources/lib/playback_decision.py +++ b/resources/lib/playback_decision.py @@ -328,19 +328,12 @@ def audio_subtitle_prefs(api, item): Returns None if user cancelled or we need to abort, True otherwise """ # Set media and part where we're at - if (api.mediastream is None and - api.mediastream_number() is None): + if api.mediastream is None and api.mediastream_number() is None: return - try: - mediastreams = api.plex_media_streams() - except (TypeError, IndexError): - LOG.error('Could not get media %s, part %s', - api.mediastream, api.part) - return - part_id = mediastreams.attrib['id'] if item.playmethod != v.PLAYBACK_METHOD_TRANSCODE: return True - return setup_transcoding_audio_subtitle_prefs(mediastreams, part_id) + return setup_transcoding_audio_subtitle_prefs(api.plex_media_streams(), + api.part_id()) def setup_transcoding_audio_subtitle_prefs(mediastreams, part_id): diff --git a/resources/lib/plex_api/base.py b/resources/lib/plex_api/base.py index 6cb6978c..c26d820f 100644 --- a/resources/lib/plex_api/base.py +++ b/resources/lib/plex_api/base.py @@ -262,6 +262,12 @@ class Base(object): """ return self.xml[self.mediastream][self.part] + def part_id(self): + """ + Returns the unique id of the currently active part [int] + """ + return int(self.xml[self.mediastream][self.part].attrib['id']) + def plot(self): """ Returns the plot or None.