aboutsummaryrefslogtreecommitdiffstats
path: root/src/client/Main.hx
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/Main.hx')
-rw-r--r--src/client/Main.hx6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/client/Main.hx b/src/client/Main.hx
index deeb2ec..0844636 100644
--- a/src/client/Main.hx
+++ b/src/client/Main.hx
@@ -25,6 +25,7 @@ class Main {
static inline var SETTINGS_VERSION = 2;
public final settings:ClientSettings;
public var isSyncActive = true;
+ public var forceSyncNextTick = false;
final clients:Array<Client> = [];
var pageTitle = document.title;
final host:String;
@@ -371,6 +372,8 @@ class Main {
case VideoLoaded:
player.setTime(0);
player.play();
+ // try to sync leader after with GetTime events
+ if (isLeader() && !player.isVideoLoaded()) forceSyncNextTick = true;
case RemoveVideo:
player.removeItem(data.removeVideo.url);
@@ -401,13 +404,14 @@ class Main {
final synchThreshold = settings.synchThreshold;
final newTime = data.getTime.time;
final time = player.getTime();
- if (isLeader()) {
+ if (isLeader() && !forceSyncNextTick) {
// if video is loading on leader
// move other clients back in time
if (Math.abs(time - newTime) < synchThreshold) return;
player.setTime(time, false);
return;
}
+ if (player.isVideoLoaded()) forceSyncNextTick = false;
if (player.getDuration() < player.getTime()) return;
if (!data.getTime.paused) player.play();
else player.pause();
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage