diff --git a/dashboard-ui/cinemamodeconfiguration.html b/dashboard-ui/cinemamodeconfiguration.html index 66e8de327f..f23c9a11d6 100644 --- a/dashboard-ui/cinemamodeconfiguration.html +++ b/dashboard-ui/cinemamodeconfiguration.html @@ -12,6 +12,7 @@
${TabGeneral} ${TabCinemaMode} + ${TabStreaming} ${TabTranscoding}
diff --git a/dashboard-ui/encodingsettings.html b/dashboard-ui/encodingsettings.html index aed1d773a2..d6a8849fe2 100644 --- a/dashboard-ui/encodingsettings.html +++ b/dashboard-ui/encodingsettings.html @@ -12,6 +12,7 @@
${TabGeneral} ${TabCinemaMode} + ${TabStreaming} ${TabTranscoding}
diff --git a/dashboard-ui/playbackconfiguration.html b/dashboard-ui/playbackconfiguration.html index e288f1582b..c23b9b271b 100644 --- a/dashboard-ui/playbackconfiguration.html +++ b/dashboard-ui/playbackconfiguration.html @@ -12,6 +12,7 @@
${TabGeneral} ${TabCinemaMode} + ${TabStreaming} ${TabTranscoding}
diff --git a/dashboard-ui/scripts/site.js b/dashboard-ui/scripts/site.js index a4816364ab..77c8b52020 100644 --- a/dashboard-ui/scripts/site.js +++ b/dashboard-ui/scripts/site.js @@ -1284,7 +1284,8 @@ var Dashboard = { SupportedCommands: Dashboard.getSupportedRemoteCommands().join(','), SupportsPersistentIdentifier: false, - SupportsMediaControl: true + SupportsMediaControl: true, + SupportedLiveMediaTypes: ['Audio', 'Video'] }; } }; diff --git a/dashboard-ui/scripts/streamingsettings.js b/dashboard-ui/scripts/streamingsettings.js new file mode 100644 index 0000000000..d55d1635a0 --- /dev/null +++ b/dashboard-ui/scripts/streamingsettings.js @@ -0,0 +1,67 @@ +(function ($, document, window) { + + function loadPage(page, config) { + + $('#txtRemoteClientBitrateLimit', page).val((config.RemoteClientBitrateLimit / 1000000) || ''); + + Dashboard.hideLoadingMsg(); + } + + $(document).on('pageinit', "#streamingSettingsPage", function () { + + var page = this; + + $('#btnSelectTranscodingTempPath', page).on("click.selectDirectory", function () { + + var picker = new DirectoryBrowser(page); + + picker.show({ + + callback: function (path) { + + if (path) { + $('#txtTranscodingTempPath', page).val(path); + } + picker.close(); + }, + + header: Globalize.translate('HeaderSelectTranscodingPath'), + + instruction: Globalize.translate('HeaderSelectTranscodingPathHelp') + }); + }); + + }).on('pageshow', "#streamingSettingsPage", function () { + + Dashboard.showLoadingMsg(); + + var page = this; + + ApiClient.getServerConfiguration().done(function (config) { + + loadPage(page, config); + + }); + }); + + window.StreamingSettingsPage = { + + onSubmit: function () { + + Dashboard.showLoadingMsg(); + + var form = this; + + ApiClient.getServerConfiguration().done(function (config) { + + config.RemoteClientBitrateLimit = parseInt(parseFloat(($('#txtRemoteClientBitrateLimit', form).val() || '0')) * 1000000); + + ApiClient.updateServerConfiguration(config).done(Dashboard.processServerConfigurationUpdateResult); + }); + + // Disable default form submission + return false; + } + }; + +})(jQuery, document, window); diff --git a/dashboard-ui/scripts/useredit.js b/dashboard-ui/scripts/useredit.js index ea394ee274..6978e3f397 100644 --- a/dashboard-ui/scripts/useredit.js +++ b/dashboard-ui/scripts/useredit.js @@ -43,7 +43,8 @@ $('#chkDisableUserPreferences', page).checked((!user.Policy.EnableUserPreferenceAccess)).checkboxradio("refresh"); $('#chkEnableMediaPlayback', page).checked(user.Policy.EnableMediaPlayback).checkboxradio("refresh"); - $('#chkEnableMediaPlaybackTranscoding', page).checked(user.Policy.EnableMediaPlaybackTranscoding).checkboxradio("refresh"); + $('#chkEnableAudioPlaybackTranscoding', page).checked(user.Policy.EnableAudioPlaybackTranscoding).checkboxradio("refresh"); + $('#chkEnableVideoPlaybackTranscoding', page).checked(user.Policy.EnableVideoPlaybackTranscoding).checkboxradio("refresh"); $('#chkEnableSync', page).checked(user.Policy.EnableSync).checkboxradio("refresh"); $('#chkEnableSyncTranscoding', page).checked(user.Policy.EnableSyncTranscoding).checkboxradio("refresh"); @@ -85,7 +86,8 @@ user.Policy.EnableSharedDeviceControl = $('#chkRemoteControlSharedDevices', page).checked(); user.Policy.EnableMediaPlayback = $('#chkEnableMediaPlayback', page).checked(); - user.Policy.EnableMediaPlaybackTranscoding = $('#chkEnableMediaPlaybackTranscoding', page).checked(); + user.Policy.EnableAudioPlaybackTranscoding = $('#chkEnableAudioPlaybackTranscoding', page).checked(); + user.Policy.EnableVideoPlaybackTranscoding = $('#chkEnableVideoPlaybackTranscoding', page).checked(); user.Policy.EnableContentDownloading = $('#chkEnableDownloading', page).checked(); diff --git a/dashboard-ui/streamingsettings.html b/dashboard-ui/streamingsettings.html new file mode 100644 index 0000000000..5bf6b351c3 --- /dev/null +++ b/dashboard-ui/streamingsettings.html @@ -0,0 +1,48 @@ + + + + ${TitlePlayback} + + +
+ +
+
+ + + +
+ +
    +
  • + + +
    ${LabelRemoteClientBitrateLimitHelp}
    +
  • +
+ +
    +
  • + + +
  • +
+
+
+
+ + +
+ + diff --git a/dashboard-ui/useredit.html b/dashboard-ui/useredit.html index ec4e515df9..54da57cd30 100644 --- a/dashboard-ui/useredit.html +++ b/dashboard-ui/useredit.html @@ -68,8 +68,10 @@ ${HeaderPlayback} - - + + + +
${OptionAllowMediaPlaybackTranscodingHelp}