Issue #5486: When changing player types, destroy old player

Signed-off-by: Kevin G <kevin@myplaceonline.com>
This commit is contained in:
Kevin G
2025-01-07 17:27:13 -06:00
committed by Bill Thornton
parent a840b1e8ee
commit 4cccd63831

View File

@@ -3456,7 +3456,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);
@@ -3464,12 +3464,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
}]);
}
}
});
}