diff --git a/manifest.json b/manifest.json index 2bc3dc9..4b3d245 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "manifest_version": 2, "name": "TTV-Tools", - "version": "0.5.2", + "version": "0.5.4", "description": "Common helpers when watching twitch", "background": { "scripts": [ diff --git a/src/context/twitch-player.ts b/src/context/twitch-player.ts index cb870dd..1ea4d6b 100644 --- a/src/context/twitch-player.ts +++ b/src/context/twitch-player.ts @@ -50,6 +50,7 @@ export function initWorkerHandler(connector: Lazy) { if (Reflect.get(worker, 'ad:known')) return; Reflect.set(worker, 'ad:known', true); + initNoFfwd(); console.log('Listening on worker messages.'); @@ -60,7 +61,7 @@ export function initWorkerHandler(connector: Lazy) { const args: AnalyticsEventArgs = {properties: {...data.arg.properties}}; if(args.properties.sink_buffer_size) args.properties.sink_buffer_size *= 1000; - if (args.properties.sink_buffer_size && args.properties.sink_buffer_size > MinLatencySpeedup() * 1000) { + if (!isNoFfwd() && args.properties.sink_buffer_size && args.properties.sink_buffer_size > MinLatencySpeedup() * 1000) { if (args.properties.sink_buffer_size > MinLatencyReload() * 1000) resetPlayer(connector); else { const latencyToSkip = args.properties.sink_buffer_size - (KeepBuffer() * 1000); @@ -115,3 +116,11 @@ function overwriteMonitor(monitor: PlaybackMonitor) { }; monitor.setPlaybackRate.known = true; } + +function initNoFfwd() { + (globalThis as any).__noFfwd ??= false; +} + +function isNoFfwd() { + return !!(globalThis as any).__noFfwd; +}