From 6d7fb7183027dad8e568784a0d2e6321cd10b9d4 Mon Sep 17 00:00:00 2001 From: Wim Brand Date: Mon, 27 Jan 2025 21:05:18 +0100 Subject: [PATCH] Debounce video pause event in some chromium browsers --- svelte/src/file_viewer/FileViewer.svelte | 5 ++++- svelte/src/file_viewer/viewers/FilePreview.svelte | 2 ++ svelte/src/filesystem/Filesystem.svelte | 5 ++++- svelte/src/filesystem/viewers/FilePreview.svelte | 2 ++ 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/svelte/src/file_viewer/FileViewer.svelte b/svelte/src/file_viewer/FileViewer.svelte index b811373..4c5db48 100644 --- a/svelte/src/file_viewer/FileViewer.svelte +++ b/svelte/src/file_viewer/FileViewer.svelte @@ -324,7 +324,10 @@ const keyboard_event = evt => { } break case " ": // Spacebar pauses / unpauses video and audio playback - file_preview.toggle_playback() + if (file_preview.toggle_playback()) { + evt.preventDefault() + evt.stopPropagation() + } break case "h": file_preview.seek(-20) diff --git a/svelte/src/file_viewer/viewers/FilePreview.svelte b/svelte/src/file_viewer/viewers/FilePreview.svelte index 239adb3..5482ade 100644 --- a/svelte/src/file_viewer/viewers/FilePreview.svelte +++ b/svelte/src/file_viewer/viewers/FilePreview.svelte @@ -50,7 +50,9 @@ export const set_file = async file => { export const toggle_playback = () => { if (viewer && viewer.toggle_playback) { viewer.toggle_playback() + return true } + return false } export const seek = delta => { if (viewer && viewer.seek) { diff --git a/svelte/src/filesystem/Filesystem.svelte b/svelte/src/filesystem/Filesystem.svelte index 130f957..7d9ecaf 100644 --- a/svelte/src/filesystem/Filesystem.svelte +++ b/svelte/src/filesystem/Filesystem.svelte @@ -83,7 +83,10 @@ const keydown = e => { break; case " ": // Spacebar pauses / unpauses video and audio playback if (file_preview) { - file_preview.toggle_playback() + if (file_preview.toggle_playback()) { + evt.preventDefault() + evt.stopPropagation() + } } break case "h": diff --git a/svelte/src/filesystem/viewers/FilePreview.svelte b/svelte/src/filesystem/viewers/FilePreview.svelte index a02176c..dbac06d 100644 --- a/svelte/src/filesystem/viewers/FilePreview.svelte +++ b/svelte/src/filesystem/viewers/FilePreview.svelte @@ -46,7 +46,9 @@ const state_update = async () => { export const toggle_playback = () => { if (viewer && viewer.toggle_playback) { viewer.toggle_playback() + return true } + return false } export const seek = delta => { if (viewer && viewer.seek) {