From dc907ed197e6945dbe50150cd87ce5be9ceb1677 Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Mon, 10 Jun 2024 07:15:21 -0500 Subject: [PATCH] Only set stalled error when player is visible --- web/src/components/player/MsePlayer.tsx | 5 ++++- web/src/components/player/WebRTCPlayer.tsx | 4 +++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/web/src/components/player/MsePlayer.tsx b/web/src/components/player/MsePlayer.tsx index cb0340ebc..970b20f35 100644 --- a/web/src/components/player/MsePlayer.tsx +++ b/web/src/components/player/MsePlayer.tsx @@ -328,7 +328,10 @@ function MSEPlayer({ setBufferTimeout( setTimeout(() => { - onError("stalled"); + // only error and fallback if player is visible + if (document.visibilityState === "visible") { + onError("stalled"); + } }, 3000), ); } diff --git a/web/src/components/player/WebRTCPlayer.tsx b/web/src/components/player/WebRTCPlayer.tsx index 1e5e209d9..3baf26d19 100644 --- a/web/src/components/player/WebRTCPlayer.tsx +++ b/web/src/components/player/WebRTCPlayer.tsx @@ -238,7 +238,9 @@ export default function WebRtcPlayer({ setBufferTimeout( setTimeout(() => { - onError("stalled"); + if (document.visibilityState === "visible") { + onError("stalled"); + } }, 3000), ); }