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}
+
${ButtonLearnMore}
  • 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;