diff --git a/dashboard-ui/scripts/mediaplayer.js b/dashboard-ui/scripts/mediaplayer.js index 304872884a..ec3cc5ed10 100644 --- a/dashboard-ui/scripts/mediaplayer.js +++ b/dashboard-ui/scripts/mediaplayer.js @@ -138,6 +138,7 @@ var transcodingExtension; var isStatic; + var currentStreamId = getParameterByName('StreamId', currentSrc); if (self.currentItem.MediaType == "Video") { @@ -172,6 +173,7 @@ if (finalParams.isStatic) { currentSrc = currentSrc.replace('.webm', '.mp4').replace('.m3u8', '.mp4'); + currentSrc = replaceQueryString(currentSrc, 'StreamId', ''); } else { currentSrc = currentSrc.replace('.mp4', transcodingExtension).replace('.m4v', transcodingExtension).replace('.mkv', transcodingExtension).replace('.webm', transcodingExtension); currentSrc = replaceQueryString(currentSrc, 'StreamId', new Date().getTime()); @@ -209,7 +211,7 @@ }); if (self.currentItem.MediaType == "Video") { - ApiClient.stopActiveEncodings().done(function () { + ApiClient.stopActiveEncodings(currentStreamId).done(function () { self.startTimeTicksOffset = ticks; element.src = currentSrc; @@ -1269,6 +1271,8 @@ var playerElement = this; + var currentStreamId = getParameterByName('StreamId', playerElement.currentSrc); + $(playerElement).off('.mediaplayerevent').off('ended.playbackstopped'); self.cleanup(playerElement); @@ -1279,7 +1283,8 @@ var mediaSource = self.currentMediaSource; if (item.MediaType == "Video") { - ApiClient.stopActiveEncodings(); + + ApiClient.stopActiveEncodings(currentStreamId); if (self.isFullScreen()) { self.exitFullScreen(); } diff --git a/dashboard-ui/thirdparty/apiclient/mediabrowser.apiclient.js b/dashboard-ui/thirdparty/apiclient/mediabrowser.apiclient.js index b65c829213..8ce9a7788c 100644 --- a/dashboard-ui/thirdparty/apiclient/mediabrowser.apiclient.js +++ b/dashboard-ui/thirdparty/apiclient/mediabrowser.apiclient.js @@ -1881,12 +1881,17 @@ }); }; - self.stopActiveEncodings = function () { - - var url = self.getUrl("Videos/ActiveEncodings", { + self.stopActiveEncodings = function (streamId) { + var options = { deviceId: deviceId - }); + }; + + if (streamId) { + options.streamId = streamId; + } + + var url = self.getUrl("Videos/ActiveEncodings", options); return self.ajax({ type: "DELETE",