diff --git a/src/components/playback/playbackmanager.js b/src/components/playback/playbackmanager.js index 3a3bddd98..8de1ffc19 100644 --- a/src/components/playback/playbackmanager.js +++ b/src/components/playback/playbackmanager.js @@ -3162,7 +3162,8 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla // User clicked stop or content ended var state = self.getPlayerState(player); - var streamInfo = getPlayerData(player).streamInfo; + var data = getPlayerData(player); + var streamInfo = data.streamInfo; var nextItem = self._playNextAfterEnded ? self._playQueueManager.getNextItemInfo() : null; @@ -3210,6 +3211,9 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla showPlaybackInfoErrorMessage(self, displayErrorCode, nextItem); } else if (nextItem) { self.nextTrack(); + } else { + // Nothing more to play - clear data + data.streamInfo = null; } } diff --git a/src/controllers/playback/videoosd.js b/src/controllers/playback/videoosd.js index 24b654854..c61fd14a7 100644 --- a/src/controllers/playback/videoosd.js +++ b/src/controllers/playback/videoosd.js @@ -671,7 +671,8 @@ define(["playbackManager", "dom", "inputManager", "datetime", "itemHelper", "med } function onTimeUpdate(e) { - if (isEnabled) { + // Test for 'currentItem' is required for Firefox since its player spams 'timeupdate' events even being at breakpoint + if (isEnabled && currentItem) { var now = new Date().getTime(); if (!(now - lastUpdateTime < 700)) {