From e11c8900c4235957bf04af0f77f85405ad969af2 Mon Sep 17 00:00:00 2001 From: Kevin G Date: Tue, 7 Jan 2025 17:27:13 -0600 Subject: [PATCH] Issue #5486: When changing player types, destroy old player Signed-off-by: Kevin G --- src/components/playback/playbackmanager.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js index c5f5182cc8..30a6b04393 100644 --- a/src/components/playback/playbackmanager.js +++ b/src/components/playback/playbackmanager.js @@ -3423,7 +3423,7 @@ export class PlaybackManager { const nextItemPlayOptions = nextItem ? (nextItem.item.playOptions || getDefaultPlayOptions()) : getDefaultPlayOptions(); const newPlayer = nextItem ? getPlayer(nextItem.item, nextItemPlayOptions) : null; - if (newPlayer !== player) { + if (!newPlayer) { data.streamInfo = null; destroyPlayer(player); removeCurrentPlayer(player); @@ -3431,12 +3431,21 @@ export class PlaybackManager { if (errorOccurred) { showPlaybackInfoErrorMessage(self, 'PlaybackError' + displayErrorCode); - } else if (nextItem) { + } else if (newPlayer) { const apiClient = ServerConnections.getApiClient(nextItem.item.ServerId); apiClient.getCurrentUser().then(function (user) { if (user.Configuration.EnableNextEpisodeAutoPlay || nextMediaType !== MediaType.Video) { self.nextTrack(); + + if (newPlayer !== player) { + Events.trigger(self, 'playbackstop', [{ + player: player, + state: state, + nextItem: nextItem, + nextMediaType: nextItem.MediaType + }]); + } } }); }