From 68488f8401e1b6a3bcc15033fde09319fc7ec64b Mon Sep 17 00:00:00 2001 From: RblSb Date: Mon, 27 Sep 2021 20:56:03 +0300 Subject: Add rewind latency --- res/client.js | 8 ++++++-- src/client/Main.hx | 6 ++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/res/client.js b/res/client.js index 5ad7ebf..2f73059 100644 --- a/res/client.js +++ b/res/client.js @@ -1530,7 +1530,11 @@ client_Main.prototype = { if(Math.abs(time - newTime) < synchThreshold) { return; } - this.player.setTime(newTime); + if(!data.getTime.paused) { + this.player.setTime(newTime + 0.5); + } else { + this.player.setTime(newTime); + } break; case "KickClient": this.disabledReconnection = true; @@ -1590,7 +1594,7 @@ client_Main.prototype = { } break; case "Rewind": - this.player.setTime(data.rewind.time); + this.player.setTime(data.rewind.time + 0.5); break; case "ServerMessage": var id = data.serverMessage.textId; diff --git a/src/client/Main.hx b/src/client/Main.hx index 079ff50..b3eaea9 100644 --- a/src/client/Main.hx +++ b/src/client/Main.hx @@ -489,7 +489,9 @@ class Main { else player.pause(); player.setPauseIndicator(!data.getTime.paused); if (Math.abs(time - newTime) < synchThreshold) return; - player.setTime(newTime); + // +0.5s for buffering + if (!data.getTime.paused) player.setTime(newTime + 0.5); + else player.setTime(newTime); case SetTime: final synchThreshold = settings.synchThreshold; @@ -503,7 +505,7 @@ class Main { player.setPlaybackRate(data.setRate.rate); case Rewind: - player.setTime(data.rewind.time); + player.setTime(data.rewind.time + 0.5); case Flashback: // server-only case SetLeader: -- cgit v1.2.3