diff --git a/src/controllers/playback/video/index.js b/src/controllers/playback/video/index.js index d7e8fd5bf2..c345d6df46 100644 --- a/src/controllers/playback/video/index.js +++ b/src/controllers/playback/video/index.js @@ -402,6 +402,14 @@ import { appRouter } from '../../../components/appRouter'; } } + function onFullscreenChange() { + if (!layoutManager.tv) { + updateFullscreenIcon(); + } else if (!playbackManager.isFullscreen(currentPlayer)) { + appRouter.back(); + } + } + function updateFullscreenIcon() { const button = view.querySelector('.btnFullscreen'); const icon = button.querySelector('.material-icons'); @@ -505,7 +513,7 @@ import { appRouter } from '../../../components/appRouter'; Events.on(player, 'pause', onPlayPauseStateChanged); Events.on(player, 'unpause', onPlayPauseStateChanged); Events.on(player, 'timeupdate', onTimeUpdate); - Events.on(player, 'fullscreenchange', updateFullscreenIcon); + Events.on(player, 'fullscreenchange', onFullscreenChange); Events.on(player, 'mediastreamschange', onMediaStreamsChanged); Events.on(player, 'beginFetch', onBeginFetch); Events.on(player, 'endFetch', onEndFetch); @@ -529,7 +537,7 @@ import { appRouter } from '../../../components/appRouter'; Events.off(player, 'pause', onPlayPauseStateChanged); Events.off(player, 'unpause', onPlayPauseStateChanged); Events.off(player, 'timeupdate', onTimeUpdate); - Events.off(player, 'fullscreenchange', updateFullscreenIcon); + Events.off(player, 'fullscreenchange', onFullscreenChange); Events.off(player, 'mediastreamschange', onMediaStreamsChanged); currentPlayer = null; } @@ -675,7 +683,7 @@ import { appRouter } from '../../../components/appRouter'; view.querySelector('.btnAirPlay').classList.remove('hide'); } - updateFullscreenIcon(); + onFullscreenChange(); } function getDisplayPercentByTimeOfDay(programStartDateMs, programRuntimeMs, currentTimeMs) {