diff --git a/src/routes/Player/Player.js b/src/routes/Player/Player.js index d3d5ba5b0..2b1c50aa9 100644 --- a/src/routes/Player/Player.js +++ b/src/routes/Player/Player.js @@ -30,7 +30,7 @@ const Player = ({ urlParams, queryParams }) => { const forceTranscoding = React.useMemo(() => { return queryParams.has('forceTranscoding'); }, [queryParams]); - const [player, videoParamsChanged, timeChanged, pausedChanged, ended] = usePlayer(urlParams); + const [player, videoParamsChanged, timeChanged, pausedChanged, ended, nextVideo] = usePlayer(urlParams); const [settings, updateSettings] = useSettings(); const streamingServer = useStreamingServer(); const routeFocused = useRouteFocused(); @@ -196,6 +196,8 @@ const Player = ({ urlParams, queryParams }) => { }, []); const onNextVideoRequested = React.useCallback(() => { if (player.nextVideo !== null) { + nextVideo(); + const deepLinks = player.nextVideo.deepLinks; if (deepLinks.metaDetailsStreams && deepLinks.player) { window.location.replace(deepLinks.metaDetailsStreams); diff --git a/src/routes/Player/usePlayer.js b/src/routes/Player/usePlayer.js index d530d78db..9bbc1673d 100644 --- a/src/routes/Player/usePlayer.js +++ b/src/routes/Player/usePlayer.js @@ -121,8 +121,16 @@ const usePlayer = (urlParams) => { } }, 'player'); }, []); + const nextVideo = React.useCallback(() => { + core.transport.dispatch({ + action: 'Player', + args: { + action: 'NextVideo' + } + }, 'player'); + }, []); const player = useModelState({ model: 'player', action, map }); - return [player, videoParamsChanged, timeChanged, pausedChanged, ended]; + return [player, videoParamsChanged, timeChanged, pausedChanged, ended, nextVideo]; }; module.exports = usePlayer;