From 1f478329eb70774244af0261f878b0b503548296 Mon Sep 17 00:00:00 2001 From: Alessandro Ros Date: Sun, 8 Sep 2024 20:29:50 +0200 Subject: [PATCH] hls: fix playback speed on iOS (#3155) (#3731) (#3734) --- internal/servers/hls/index.html | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/internal/servers/hls/index.html b/internal/servers/hls/index.html index 20ce92dd..b54b95b2 100644 --- a/internal/servers/hls/index.html +++ b/internal/servers/hls/index.html @@ -63,11 +63,18 @@ const setMessage = (str) => { message.innerText = str; }; +const isIOS = () => ( + /iPad|iPhone|iPod/.test(navigator.platform) + || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1) +); + const loadStream = () => { - // always prefer hls.js over native HLS. - // this is because some Android versions support native HLS + // Prefer hls.js over native HLS. + // This is because some Android versions support native HLS // but don't support fMP4s. - if (Hls.isSupported()) { + // Skip iPad iOS >= 13 and iPhone iOS >= 17, + // which support hls.js but don't support well maxLiveSyncPlaybackRate. + if (Hls.isSupported() && !isIOS()) { const hls = new Hls({ maxLiveSyncPlaybackRate: 1.5, });