From 6b1c289d0c964b9c8e932a12e0501d5f23ebef26 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sat, 14 Jun 2014 22:24:04 -0400 Subject: [PATCH] replace all images when using identify function --- dashboard-ui/edititemmetadata.html | 1 + dashboard-ui/scripts/edititemmetadata.js | 10 ++++++++-- dashboard-ui/scripts/mediaplayer-video.js | 18 ++++++++++++++++-- dashboard-ui/scripts/mediaplayer.js | 5 +++-- .../thirdparty/mediabrowser.apiclient.js | 7 ++----- 5 files changed, 30 insertions(+), 11 deletions(-) diff --git a/dashboard-ui/edititemmetadata.html b/dashboard-ui/edititemmetadata.html index 84b80f456..8ce8d7b82 100644 --- a/dashboard-ui/edititemmetadata.html +++ b/dashboard-ui/edititemmetadata.html @@ -43,6 +43,7 @@ diff --git a/dashboard-ui/scripts/edititemmetadata.js b/dashboard-ui/scripts/edititemmetadata.js index 080eb0684..751c40cf2 100644 --- a/dashboard-ui/scripts/edititemmetadata.js +++ b/dashboard-ui/scripts/edititemmetadata.js @@ -1191,9 +1191,15 @@ $('#refreshLoading', page).show(); - var force = $('#selectRefreshMode', page).val() == 'all'; + var mode = $('#selectRefreshMode', page).val(); - ApiClient.refreshItem(currentItem.Id, force, true).done(function () { + ApiClient.refreshItem(currentItem.Id, { + + forced: mode == 'allandimages' || mode == 'all', + recursive: true, + replaceAllImages: mode == 'allandimages' + + }).done(function () { reload(page); diff --git a/dashboard-ui/scripts/mediaplayer-video.js b/dashboard-ui/scripts/mediaplayer-video.js index 0c95c14dc..66b64eb85 100644 --- a/dashboard-ui/scripts/mediaplayer-video.js +++ b/dashboard-ui/scripts/mediaplayer-video.js @@ -194,6 +194,20 @@ self.changeStream(self.getCurrentTicks(), { SubtitleStreamIndex: index }); } } + else if (currentStream && newStream) { + + if (newStream.IsTextSubtitleStream) { + selectedTrackElementIndex = index; + + if (!currentStream.IsTextSubtitleStream) { + self.changeStream(self.getCurrentTicks(), { SubtitleStreamIndex: -1 }); + } + } else { + + // Need to change the transcoded stream to add subs + self.changeStream(self.getCurrentTicks(), { SubtitleStreamIndex: index }); + } + } self.setCurrentTrackElement(selectedTrackElementIndex); self.currentSubtitleStreamIndex = index; @@ -918,9 +932,9 @@ var textStreamUrl = ApiClient.getUrl('Videos/' + item.Id + '/' + mediaSource.Id + '/Subtitles/' + textStream.Index + '/Stream.vtt', { }); - var defaultAttribute = i.Index == mediaSource.DefaultSubtitleStreamIndex ? ' default' : ''; + var defaultAttribute = textStream.Index == mediaSource.DefaultSubtitleStreamIndex ? ' default' : ''; - html += ''; + html += ''; } } diff --git a/dashboard-ui/scripts/mediaplayer.js b/dashboard-ui/scripts/mediaplayer.js index 91842da49..50c4758bc 100644 --- a/dashboard-ui/scripts/mediaplayer.js +++ b/dashboard-ui/scripts/mediaplayer.js @@ -20,6 +20,7 @@ self.isLocalPlayer = true; self.isDefaultPlayer = true; + self.name = 'Html5 Player'; self.getTargets = function () { @@ -45,7 +46,7 @@ var playerTime = Math.floor(10000000 * (mediaElement || currentMediaElement).currentTime); - //if (currentItem.MediaType == 'Audio') { + //if (!self.isCopyingTimestamps) { playerTime += self.startTimeTicksOffset; //} @@ -486,7 +487,7 @@ self.currentItem = item; self.currentMediaSource = getOptimalMediaSource(item.MediaType, item.MediaSources); - + mediaElement = playAudio(item, self.currentMediaSource, startPosition); self.currentDurationTicks = self.currentMediaSource.RunTimeTicks; diff --git a/dashboard-ui/thirdparty/mediabrowser.apiclient.js b/dashboard-ui/thirdparty/mediabrowser.apiclient.js index f7b2560eb..bbb996247 100644 --- a/dashboard-ui/thirdparty/mediabrowser.apiclient.js +++ b/dashboard-ui/thirdparty/mediabrowser.apiclient.js @@ -1147,16 +1147,13 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi /** * Refreshes metadata for an item */ - self.refreshItem = function (itemId, force, recursive) { + self.refreshItem = function (itemId, options) { if (!itemId) { throw new Error("null itemId"); } - var url = self.getUrl("Items/" + itemId + "/Refresh", { - forced: force || false, - recursive: recursive || false - }); + var url = self.getUrl("Items/" + itemId + "/Refresh", options || {}); return self.ajax({ type: "POST",