Try harder at synchronizing players by modifying playback speed

This commit is contained in:
Tomasz Fluxid Kowalczyk 2012-01-28 22:24:15 +01:00
parent 7c2d7f4c7d
commit 798d71b5e9

View File

@ -122,16 +122,18 @@ class Manager(object):
def update_player_position(self, value): def update_player_position(self, value):
self.player_position = value self.player_position = value
#diff = self.get_current_global_position() - value diff = self.get_current_global_position() - value
#if 0.2 <= abs(diff) <= 4: if 0.2 <= abs(diff) <= 4:
# if diff > 0: print 'server is %0.2fs ahead of client' % diff
# diff -= 0.2 if diff > 0:
# else: diff -= 0.2
# diff += 0.2 else:
# speed = (diff/4.0) + 1 diff += 0.2
# self.player.send_set_speed(speed) speed = (diff/4.0) + 1
#else: print 'fixing at speed %0.2f' % speed
# self.player.send_set_speed(1) self.player.send_set_speed(speed)
else:
self.player.send_set_speed(1)
def update_player_paused(self, value): def update_player_paused(self, value):
old = self.player_paused old = self.player_paused
@ -142,6 +144,7 @@ class Manager(object):
def update_global_state(self, paused, position, name): def update_global_state(self, paused, position, name):
self.global_paused = paused self.global_paused = paused
self.global_position = position self.global_position = position
self.last_global_update = time.time()
if self.player: if self.player:
changed = False changed = False
if abs(self.player_position - position) > 4: if abs(self.player_position - position) > 4: