diff --git a/ui/component/viewers/videoViewer/internal/videojs.jsx b/ui/component/viewers/videoViewer/internal/videojs.jsx index 4f7a50e08..867a51da1 100644 --- a/ui/component/viewers/videoViewer/internal/videojs.jsx +++ b/ui/component/viewers/videoViewer/internal/videojs.jsx @@ -311,34 +311,34 @@ export default React.memo(function VideoJs(props: Props) { // $FlowFixMe containerRef.current.appendChild(wrapper); - // fetch(source).then(response => { - // if (response && response.redirected && response.url && response.url.endsWith('m3u8')) { - // videoJsOptions.sources[0].type = 'application/x-mpegURL'; - // } - - player = videojs(el, videoJsOptions, () => { - if (player) { - player.one('play', onInitialPlay); - player.on('volumechange', onVolumeChange); - player.on('error', onError); - player.on('ended', onEnded); - LbryVolumeBarClass.replaceExisting(player); - player.mobileUi(); // Inits mobile version. No-op if Desktop. - - onPlayerReady(player); + fetch(source, { method: 'HEAD' }).then(response => { + if (response && response.redirected && response.url && response.url.endsWith('m3u8')) { + videoJsOptions.sources[0].type = 'application/x-mpegURL'; } + + player = videojs(el, videoJsOptions, () => { + if (player) { + player.one('play', onInitialPlay); + player.on('volumechange', onVolumeChange); + player.on('error', onError); + player.on('ended', onEnded); + LbryVolumeBarClass.replaceExisting(player); + player.mobileUi(); // Inits mobile version. No-op if Desktop. + + onPlayerReady(player); + } + }); + + window.player = player; + + // fixes #3498 (https://github.com/lbryio/lbry-desktop/issues/3498) + // summary: on firefox the focus would stick to the fullscreen button which caused buggy behavior with spacebar + // $FlowFixMe + player.on('fullscreenchange', () => document.activeElement && document.activeElement.blur()); + + window.addEventListener('keydown', handleKeyDown); }); - window.player = player; - - // fixes #3498 (https://github.com/lbryio/lbry-desktop/issues/3498) - // summary: on firefox the focus would stick to the fullscreen button which caused buggy behavior with spacebar - // $FlowFixMe - player.on('fullscreenchange', () => document.activeElement && document.activeElement.blur()); - - window.addEventListener('keydown', handleKeyDown); - // }); - return () => { window.removeEventListener('keydown', handleKeyDown);