diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js index 615e775ce9..18254ac267 100644 --- a/src/components/playback/playbackmanager.js +++ b/src/components/playback/playbackmanager.js @@ -2153,7 +2153,7 @@ class PlaybackManager { }, onInterceptorRejection); } - function onInterceptorRejection() { + function cancelPlayback() { const player = self._currentPlayer; if (player) { @@ -2162,7 +2162,10 @@ class PlaybackManager { } Events.trigger(self, 'playbackcancelled'); + } + function onInterceptorRejection() { + cancelPlayback(); return Promise.reject(); } @@ -2238,6 +2241,14 @@ class PlaybackManager { promise = Promise.resolve(); } + if (!player) { + return promise.then(() => { + cancelPlayback(); + loading.hide(); + showPlaybackInfoErrorMessage(self, 'ErrorPlayerNotFound'); + }); + } + if (!isServerItem(item) || item.MediaType === 'Book') { return promise.then(function () { const streamInfo = createStreamInfoFromUrlItem(item); diff --git a/src/strings/en-us.json b/src/strings/en-us.json index 2684ddb46a..87ea463c28 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -243,6 +243,7 @@ "ErrorDefault": "There was an error processing the request. Please try again later.", "ErrorDeletingItem": "There was an error deleting the item from the server. Please check that Jellyfin has write access to the media folder and try again.", "ErrorGettingTvLineups": "There was an error downloading TV lineups. Please ensure your information is correct and try again.", + "ErrorPlayerNotFound": "No player found for the requested media.", "ErrorPleaseSelectLineup": "Please select a lineup and try again. If no lineups are available, then please check that your username, password, and postal code is correct.", "ErrorSavingTvProvider": "There was an error saving the TV provider. Please ensure it is accessible and try again.", "ErrorStartHourGreaterThanEnd": "End time must be greater than the start time.",