diff --git a/jellyfin_kodi/segments.py b/jellyfin_kodi/segments.py index e2bc1619..8193e61d 100644 --- a/jellyfin_kodi/segments.py +++ b/jellyfin_kodi/segments.py @@ -1,7 +1,7 @@ from __future__ import division, absolute_import, print_function, unicode_literals import threading -import time +import xbmc from .helper import LazyLogger, settings LOG = LazyLogger(__name__) @@ -22,16 +22,23 @@ class SegmentChecker(threading.Thread): LOG.info("--->[ segment checker ]") while not self.stop_thread: - try: - if settings("mediaSegmentsEnabled.bool"): - current_file = self.player.get_playing_file() - item = self.player.get_file_info(current_file) + item = self._getCurrentPlayingItem() + if item and settings("mediaSegmentsEnabled.bool"): + try: current_pos = int(self.player.getTime()) self.player.check_skip_segments(item, current_pos) - except Exception as e: - LOG.error("Error in segment checker loop: %s", e) + except Exception as e: + LOG.exception("Error in segment checker loop: %s", e) - time.sleep(0.2) + xbmc.sleep(1000) LOG.info("---<[ segment checker ]") + + def _getCurrentPlayingItem(self): + try: + current_file = self.player.get_playing_file() + item = self.player.get_file_info(current_file) + return item + except Exception: + return None