diff --git a/dashboard-ui/mypreferencesdisplay.html b/dashboard-ui/mypreferencesdisplay.html
index 17c7f6eb1f..95327ee868 100644
--- a/dashboard-ui/mypreferencesdisplay.html
+++ b/dashboard-ui/mypreferencesdisplay.html
@@ -76,6 +76,12 @@
+
+
+
+ ${OptionHideWatchedContentFromLatestMedia}
+
+
diff --git a/dashboard-ui/scripts/mediaplayer-video.js b/dashboard-ui/scripts/mediaplayer-video.js
index aaf9bce8f1..0370061fc7 100644
--- a/dashboard-ui/scripts/mediaplayer-video.js
+++ b/dashboard-ui/scripts/mediaplayer-video.js
@@ -950,11 +950,11 @@
// Can't autoplay in these browsers so we need to use the full controls
if (requiresNativeControls) {
- html += '';
+ html += '';
} else {
// Chrome 35 won't play with preload none
- html += '';
+ html += '';
}
html += ' ';
@@ -967,7 +967,6 @@
var textStream = textStreams[i];
var textStreamUrl = textStream.DeliveryUrl;
-
var defaultAttribute = textStream.Index == mediaSource.DefaultSubtitleStreamIndex ? ' default' : '';
html += ' ';
diff --git a/dashboard-ui/scripts/mediaplayer.js b/dashboard-ui/scripts/mediaplayer.js
index 20ea889fb6..455ad2d8d8 100644
--- a/dashboard-ui/scripts/mediaplayer.js
+++ b/dashboard-ui/scripts/mediaplayer.js
@@ -399,6 +399,7 @@
var currentSrc = element.currentSrc;
var playSessionId = getParameterByName('PlaySessionId', currentSrc);
+ var liveStreamId = getParameterByName('LiveStreamId', currentSrc);
if (params.AudioStreamIndex == null && params.SubtitleStreamIndex == null && params.Bitrate == null) {
@@ -419,14 +420,14 @@
subtitleStreamIndex = parseInt(subtitleStreamIndex);
}
- getPlaybackInfo(self.currentItem.Id, deviceProfile, ticks, self.currentMediaSource, audioStreamIndex, subtitleStreamIndex).done(function (result) {
+ getPlaybackInfo(self.currentItem.Id, deviceProfile, ticks, self.currentMediaSource, audioStreamIndex, subtitleStreamIndex, liveStreamId).done(function (result) {
if (validatePlaybackInfoResult(result)) {
self.currentMediaSource = result.MediaSources[0];
self.currentSubtitleStreamIndex = subtitleStreamIndex;
- currentSrc = ApiClient.getUrl(self.currentMediaSource.TranscodingUrl);
+ currentSrc = self.currentMediaSource.TranscodingUrl;
changeStreamToUrl(element, playSessionId, currentSrc, ticks);
}
});
@@ -660,7 +661,7 @@
})[0];
}
- function getPlaybackInfo(itemId, deviceProfile, startPosition, mediaSource, audioStreamIndex, subtitleStreamIndex) {
+ function getPlaybackInfo(itemId, deviceProfile, startPosition, mediaSource, audioStreamIndex, subtitleStreamIndex, liveStreamId) {
var postData = {
DeviceProfile: deviceProfile
@@ -680,6 +681,9 @@
if (mediaSource) {
query.MediaSourceId = mediaSource.Id;
}
+ if (liveStreamId) {
+ query.LiveStreamId = liveStreamId;
+ }
return ApiClient.ajax({
url: ApiClient.getUrl('Items/' + itemId + '/PlaybackInfo', query),
@@ -750,7 +754,7 @@
} else {
startTimeTicksOffset = startPosition || 0;
- mediaUrl = ApiClient.getUrl(mediaSource.TranscodingUrl);
+ mediaUrl = mediaSource.TranscodingUrl;
if (mediaSource.TranscodingSubProtocol == 'hls') {
@@ -789,7 +793,7 @@
contentType = 'audio/' + mediaSource.TranscodingContainer;
- mediaUrl = ApiClient.getUrl(mediaSource.TranscodingUrl);
+ mediaUrl = mediaSource.TranscodingUrl;
}
startTimeTicksOffset = startPosition || 0;
diff --git a/dashboard-ui/scripts/mypreferencesdisplay.js b/dashboard-ui/scripts/mypreferencesdisplay.js
index 13bf6b5898..1f33a5bce4 100644
--- a/dashboard-ui/scripts/mypreferencesdisplay.js
+++ b/dashboard-ui/scripts/mypreferencesdisplay.js
@@ -133,6 +133,8 @@
$('#chkDisplayCollectionView', page).checked(user.Configuration.DisplayCollectionsView || false).checkboxradio("refresh");
$('#chkDisplayFolderView', page).checked(user.Configuration.DisplayFoldersView || false).checkboxradio("refresh");
+ $('#chkHidePlayedFromLatest', page).checked(user.Configuration.HidePlayedInLatest || false).checkboxradio("refresh");
+
var promise1 = ApiClient.getItems(user.Id, {
sortBy: "SortName"
});
@@ -163,6 +165,8 @@
user.Configuration.DisplayCollectionsView = $('#chkDisplayCollectionView', page).checked();
user.Configuration.DisplayFoldersView = $('#chkDisplayFolderView', page).checked();
+ user.Configuration.HidePlayedInLatest = $('#chkHidePlayedFromLatest', page).checked();
+
user.Configuration.IncludeTrailersInSuggestions = $('#chkDisplayTrailersWithinMovieSuggestions', page).checked();
user.Configuration.LatestItemsExcludes = $(".chkIncludeInLatest:not(:checked)", page).get().map(function (i) {