diff --git a/player/player.py b/player/player.py index a408a54..906be86 100755 --- a/player/player.py +++ b/player/player.py @@ -36,6 +36,7 @@ class Sync(Thread): reload_check = None _pos = None _tick = 0 + need_to_sync = False def __init__(self, *args, **kwargs): self.is_main = kwargs.get('mode', 'main') == 'main' @@ -76,6 +77,9 @@ class Sync(Thread): else: self.read_position_main() #self.adjust_position() + if self.need_to_sync: + self.sync_to_main() + self.need_to_sync = False self.reload_playlist() if self._tick and abs(time.time() - self._tick) > 60: logger.error("player is stuck") @@ -171,8 +175,9 @@ class Sync(Thread): frames = deviation / 0.04 median_frames = median_deviation / 0.04 if time.time() - self.last_sync > SYNC_GRACE_TIME and abs(median_deviation) > SYNC_TOLERANCE: - print('need to sync %0.05f (%d) median %0.05f (%d)' % (deviation, frames, median_deviation, median_frames)) - self.sync_to_main() + if not self.need_to_sync: + logger.error('need to sync %0.05f (%d) median %0.05f (%d)' % (deviation, frames, median_deviation, median_frames)) + self.need_to_sync = True def median(self, lst): quotient, remainder = divmod(len(lst), 2)