mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
added out of network bitrate limit
This commit is contained in:
parent
56829929c4
commit
3d8fc04db3
8 changed files with 128 additions and 5 deletions
|
@ -12,6 +12,7 @@
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
||||||
<a href="playbackconfiguration.html" data-role="button">${TabGeneral}</a>
|
<a href="playbackconfiguration.html" data-role="button">${TabGeneral}</a>
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabCinemaMode}</a>
|
<a href="#" data-role="button" class="ui-btn-active">${TabCinemaMode}</a>
|
||||||
|
<a href="streamingsettings.html" data-role="button">${TabStreaming}</a>
|
||||||
<a href="encodingsettings.html" data-role="button">${TabTranscoding}</a>
|
<a href="encodingsettings.html" data-role="button">${TabTranscoding}</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
||||||
<a href="playbackconfiguration.html" data-role="button">${TabGeneral}</a>
|
<a href="playbackconfiguration.html" data-role="button">${TabGeneral}</a>
|
||||||
<a href="cinemamodeconfiguration.html" data-role="button">${TabCinemaMode}</a>
|
<a href="cinemamodeconfiguration.html" data-role="button">${TabCinemaMode}</a>
|
||||||
|
<a href="streamingsettings.html" data-role="button">${TabStreaming}</a>
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabTranscoding}</a>
|
<a href="#" data-role="button" class="ui-btn-active">${TabTranscoding}</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
||||||
<a href="#" data-role="button" class="ui-btn-active">${TabGeneral}</a>
|
<a href="#" data-role="button" class="ui-btn-active">${TabGeneral}</a>
|
||||||
<a href="cinemamodeconfiguration.html" data-role="button">${TabCinemaMode}</a>
|
<a href="cinemamodeconfiguration.html" data-role="button">${TabCinemaMode}</a>
|
||||||
|
<a href="streamingsettings.html" data-role="button">${TabStreaming}</a>
|
||||||
<a href="encodingsettings.html" data-role="button">${TabTranscoding}</a>
|
<a href="encodingsettings.html" data-role="button">${TabTranscoding}</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -1284,7 +1284,8 @@ var Dashboard = {
|
||||||
|
|
||||||
SupportedCommands: Dashboard.getSupportedRemoteCommands().join(','),
|
SupportedCommands: Dashboard.getSupportedRemoteCommands().join(','),
|
||||||
SupportsPersistentIdentifier: false,
|
SupportsPersistentIdentifier: false,
|
||||||
SupportsMediaControl: true
|
SupportsMediaControl: true,
|
||||||
|
SupportedLiveMediaTypes: ['Audio', 'Video']
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
67
dashboard-ui/scripts/streamingsettings.js
Normal file
67
dashboard-ui/scripts/streamingsettings.js
Normal file
|
@ -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);
|
|
@ -43,7 +43,8 @@
|
||||||
$('#chkDisableUserPreferences', page).checked((!user.Policy.EnableUserPreferenceAccess)).checkboxradio("refresh");
|
$('#chkDisableUserPreferences', page).checked((!user.Policy.EnableUserPreferenceAccess)).checkboxradio("refresh");
|
||||||
|
|
||||||
$('#chkEnableMediaPlayback', page).checked(user.Policy.EnableMediaPlayback).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");
|
$('#chkEnableSync', page).checked(user.Policy.EnableSync).checkboxradio("refresh");
|
||||||
$('#chkEnableSyncTranscoding', page).checked(user.Policy.EnableSyncTranscoding).checkboxradio("refresh");
|
$('#chkEnableSyncTranscoding', page).checked(user.Policy.EnableSyncTranscoding).checkboxradio("refresh");
|
||||||
|
@ -85,7 +86,8 @@
|
||||||
user.Policy.EnableSharedDeviceControl = $('#chkRemoteControlSharedDevices', page).checked();
|
user.Policy.EnableSharedDeviceControl = $('#chkRemoteControlSharedDevices', page).checked();
|
||||||
|
|
||||||
user.Policy.EnableMediaPlayback = $('#chkEnableMediaPlayback', 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();
|
user.Policy.EnableContentDownloading = $('#chkEnableDownloading', page).checked();
|
||||||
|
|
||||||
|
|
48
dashboard-ui/streamingsettings.html
Normal file
48
dashboard-ui/streamingsettings.html
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>${TitlePlayback}</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="streamingSettingsPage" data-role="page" class="page type-interior playbackConfigurationPage" data-helpurl="https://github.com/MediaBrowser/Wiki/wiki/Streaming">
|
||||||
|
|
||||||
|
<div data-role="content">
|
||||||
|
<div class="content-primary">
|
||||||
|
|
||||||
|
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
||||||
|
<a href="playbackconfiguration.html" data-role="button">${TabGeneral}</a>
|
||||||
|
<a href="cinemamodeconfiguration.html" data-role="button">${TabCinemaMode}</a>
|
||||||
|
<a href="#" data-role="button" class="ui-btn-active">${TabStreaming}</a>
|
||||||
|
<a href="encodingsettings.html" data-role="button">${TabTranscoding}</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<form class="streamingSettingsForm">
|
||||||
|
|
||||||
|
<ul data-role="listview" class="ulForm">
|
||||||
|
<li>
|
||||||
|
<label for="txtRemoteClientBitrateLimit">${LabelRemoteClientBitrateLimit}</label>
|
||||||
|
<input type="number" id="txtRemoteClientBitrateLimit" pattern="[0-9]*" required="required" min="0" step=".25" />
|
||||||
|
<div class="fieldDescription">${LabelRemoteClientBitrateLimitHelp}</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul data-role="listview" class="ulForm">
|
||||||
|
<li>
|
||||||
|
<button type="submit" data-theme="b" data-icon="check" data-mini="true">
|
||||||
|
${ButtonSave}
|
||||||
|
</button>
|
||||||
|
<button type="button" onclick="Dashboard.navigate('dashboard.html');" data-icon="delete" data-mini="true">
|
||||||
|
${ButtonCancel}
|
||||||
|
</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script type="text/javascript">
|
||||||
|
$('.streamingSettingsForm').off('submit', StreamingSettingsPage.onSubmit).on('submit', StreamingSettingsPage.onSubmit);
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -68,8 +68,10 @@
|
||||||
<legend>${HeaderPlayback}</legend>
|
<legend>${HeaderPlayback}</legend>
|
||||||
<input type="checkbox" id="chkEnableMediaPlayback" />
|
<input type="checkbox" id="chkEnableMediaPlayback" />
|
||||||
<label for="chkEnableMediaPlayback">${OptionAllowMediaPlayback}</label>
|
<label for="chkEnableMediaPlayback">${OptionAllowMediaPlayback}</label>
|
||||||
<input type="checkbox" id="chkEnableMediaPlaybackTranscoding" />
|
<input type="checkbox" id="chkEnableAudioPlaybackTranscoding" />
|
||||||
<label for="chkEnableMediaPlaybackTranscoding">${OptionAllowMediaPlaybackTranscoding}</label>
|
<label for="chkEnableAudioPlaybackTranscoding">${OptionAllowAudioPlaybackTranscoding}</label>
|
||||||
|
<input type="checkbox" id="chkEnableVideoPlaybackTranscoding" />
|
||||||
|
<label for="chkEnableVideoPlaybackTranscoding">${OptionAllowVideoPlaybackTranscoding}</label>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="fieldDescription">${OptionAllowMediaPlaybackTranscodingHelp}</div>
|
<div class="fieldDescription">${OptionAllowMediaPlaybackTranscodingHelp}</div>
|
||||||
<br />
|
<br />
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue