diff --git a/dashboard-ui/channelsettings.html b/dashboard-ui/channelsettings.html
index 28320706ca..f910097f4c 100644
--- a/dashboard-ui/channelsettings.html
+++ b/dashboard-ui/channelsettings.html
@@ -51,6 +51,7 @@
${LabelChannelDownloadSizeLimitHelp}
+
diff --git a/dashboard-ui/scripts/channelsettings.js b/dashboard-ui/scripts/channelsettings.js
index 92ffad87c6..43bdc87f64 100644
--- a/dashboard-ui/scripts/channelsettings.js
+++ b/dashboard-ui/scripts/channelsettings.js
@@ -29,7 +29,13 @@
$('.channelDownloadingList', page).html(html).trigger('create');
}
- function loadPage(page, config, allChannelFeatures) {
+ function loadPage(page, config, allChannelFeatures, supporterInfo) {
+
+ if (supporterInfo.IsMBSupporter) {
+ $('#txtDownloadSizeLimit', page).attr('max', '100');
+ } else {
+ $('#txtDownloadSizeLimit', page).attr('max', '.5');
+ }
if (allChannelFeatures.length) {
$('.noChannelsHeader', page).hide();
@@ -86,13 +92,15 @@
var promise1 = ApiClient.getNamedConfiguration("channels");
var promise2 = ApiClient.getJSON(ApiClient.getUrl("Channels/Features"));
+ var promise3 = Dashboard.getPluginSecurityInfo();
- $.when(promise1, promise2).done(function (response1, response2) {
+ $.when(promise1, promise2, promise3).done(function (response1, response2, response3) {
var config = response1[0];
var allFeatures = response2[0];
+ var supporterInfo = response3;
- loadPage(page, config, allFeatures);
+ loadPage(page, config, allFeatures, supporterInfo);
});
diff --git a/dashboard-ui/scripts/chromecast.js b/dashboard-ui/scripts/chromecast.js
index e9f76fffe1..650f994dee 100644
--- a/dashboard-ui/scripts/chromecast.js
+++ b/dashboard-ui/scripts/chromecast.js
@@ -79,9 +79,10 @@
// v1 Id AE4DA10A
// v2 Id 472F0435
// v3 Id 69C59853
+ // v4 Id F4EB2E8E
// default receiver chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID
- var applicationID = "69C59853";
+ var applicationID = "F4EB2E8E";
// request session
var sessionRequest = new chrome.cast.SessionRequest(applicationID);
diff --git a/dashboard-ui/scripts/mediaplayer-video.js b/dashboard-ui/scripts/mediaplayer-video.js
index a22f9fce35..6b9e624875 100644
--- a/dashboard-ui/scripts/mediaplayer-video.js
+++ b/dashboard-ui/scripts/mediaplayer-video.js
@@ -1076,7 +1076,8 @@
maxWidth: webmQuality.maxWidth,
videoBitrate: webmQuality.videoBitrate,
audioBitrate: webmQuality.audioBitrate,
- EnableAutoStreamCopy: false
+ EnableAutoStreamCopy: false,
+ ClientTime: new Date().getTime()
}));
var hlsVideoUrl = ApiClient.getUrl('Videos/' + item.Id + '/master.m3u8', $.extend({}, baseParams, {
@@ -1087,7 +1088,8 @@
AudioCodec: m3U8Quality.audioCodec,
profile: 'baseline',
level: '3',
- StartTimeTicks: 0
+ StartTimeTicks: 0,
+ ClientTime: new Date().getTime()
})) + seekParam;
diff --git a/dashboard-ui/scripts/mediaplayer.js b/dashboard-ui/scripts/mediaplayer.js
index 104ecfd04f..ae4c5d8ec3 100644
--- a/dashboard-ui/scripts/mediaplayer.js
+++ b/dashboard-ui/scripts/mediaplayer.js
@@ -141,6 +141,7 @@
currentSrc = currentSrc.replace('.webm', '.mp4').replace('.m3u8', '.mp4');
} else {
currentSrc = currentSrc.replace('.mp4', transcodingExtension).replace('.m4v', transcodingExtension).replace('.mkv', transcodingExtension);
+ currentSrc = replaceQueryString(currentSrc, 'ClientTime', new Date().getTime());
}
currentSrc = replaceQueryString(currentSrc, 'AudioBitrate', finalParams.audioBitrate);
@@ -1247,6 +1248,8 @@
if (isStatic) {
var seekParam = startPositionTicks ? '#t=' + (startPositionTicks / 10000000) : '';
audioUrl += "&static=true" + seekParam;
+ } else {
+ audioUrl += "&ClientTime=" + new Date().getTime();
}
self.startTimeTicksOffset = isStatic ? 0 : startPositionTicks;