From 93d3458fd0cd1f634c6465c01794d107f659bbf8 Mon Sep 17 00:00:00 2001 From: Dmitry Lyzo Date: Tue, 15 Mar 2022 23:15:46 +0300 Subject: [PATCH] Fix old streamInfo on stream change When the client changes the stream (fail to play) `streamInfo` contains the old play session and the next progress report will update the wrong session. The server then responds with the wrong playback method until the next progress report. Update `streamInfo` before playback start so that the data is up to date. --- src/components/playback/playbackmanager.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js index ffc1883605..cd634d71cf 100644 --- a/src/components/playback/playbackmanager.js +++ b/src/components/playback/playbackmanager.js @@ -1721,17 +1721,17 @@ class PlaybackManager { } function setSrcIntoPlayer(apiClient, player, streamInfo) { - return player.play(streamInfo).then(function () { - const playerData = getPlayerData(player); + const playerData = getPlayerData(player); + playerData.streamInfo = streamInfo; + + return player.play(streamInfo).then(function () { playerData.isChangingStream = false; - playerData.streamInfo = streamInfo; streamInfo.started = true; streamInfo.ended = false; sendProgressUpdate(player, 'timeupdate'); }, function (e) { - const playerData = getPlayerData(player); playerData.isChangingStream = false; onPlaybackError.call(player, e, {