mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Merge branch 'master' into unavailable-yt-video-trailer-bug-fix
This commit is contained in:
commit
3124a4af9b
30 changed files with 509 additions and 374 deletions
|
@ -34,7 +34,6 @@ function getDeviceProfile(item, options = {}) {
|
|||
profile = window.NativeShell.AppHost.getDeviceProfile(profileBuilder);
|
||||
} else {
|
||||
const builderOpts = getBaseProfileOptions(item);
|
||||
builderOpts.enableSsaRender = (item && !options.isRetry && appSettings.get('subtitleburnin') !== 'allcomplexformats');
|
||||
profile = profileBuilder(builderOpts);
|
||||
}
|
||||
|
||||
|
|
|
@ -147,6 +147,8 @@ import toast from '../toast/toast';
|
|||
|
||||
showHideQualityFields(context, user, apiClient);
|
||||
|
||||
context.querySelector('#selectAllowedAudioChannels').value = userSettings.allowedAudioChannels();
|
||||
|
||||
apiClient.getCultures().then(allCultures => {
|
||||
populateLanguages(context.querySelector('#selectAudioLanguage'), allCultures);
|
||||
|
||||
|
@ -189,6 +191,7 @@ import toast from '../toast/toast';
|
|||
}
|
||||
|
||||
context.querySelector('.chkPlayDefaultAudioTrack').checked = user.Configuration.PlayDefaultAudioTrack || false;
|
||||
context.querySelector('.chkPreferFmp4HlsContainer').checked = userSettings.preferFmp4HlsContainer();
|
||||
context.querySelector('.chkEnableCinemaMode').checked = userSettings.enableCinemaMode();
|
||||
context.querySelector('.chkEnableNextVideoOverlay').checked = userSettings.enableNextVideoInfoOverlay();
|
||||
context.querySelector('.chkExternalVideoPlayer').checked = appSettings.enableSystemExternalPlayers();
|
||||
|
@ -224,10 +227,11 @@ import toast from '../toast/toast';
|
|||
setMaxBitrateFromField(context.querySelector('.selectVideoInternetQuality'), false, 'Video');
|
||||
setMaxBitrateFromField(context.querySelector('.selectMusicInternetQuality'), false, 'Audio');
|
||||
|
||||
userSettingsInstance.allowedAudioChannels(context.querySelector('#selectAllowedAudioChannels').value);
|
||||
user.Configuration.AudioLanguagePreference = context.querySelector('#selectAudioLanguage').value;
|
||||
user.Configuration.PlayDefaultAudioTrack = context.querySelector('.chkPlayDefaultAudioTrack').checked;
|
||||
user.Configuration.EnableNextEpisodeAutoPlay = context.querySelector('.chkEpisodeAutoPlay').checked;
|
||||
|
||||
userSettingsInstance.preferFmp4HlsContainer(context.querySelector('.chkPreferFmp4HlsContainer').checked);
|
||||
userSettingsInstance.enableCinemaMode(context.querySelector('.chkEnableCinemaMode').checked);
|
||||
|
||||
userSettingsInstance.enableNextVideoInfoOverlay(context.querySelector('.chkEnableNextVideoOverlay').checked);
|
||||
|
|
|
@ -4,6 +4,16 @@
|
|||
${HeaderAudioSettings}
|
||||
</h2>
|
||||
|
||||
<div class="selectContainer">
|
||||
<select is="emby-select" id="selectAllowedAudioChannels" label="${LabelAllowedAudioChannels}">
|
||||
<option value="-1">${Auto}</option>
|
||||
<option value="1">${LabelSelectMono}</option>
|
||||
<option value="2">${LabelSelectStereo}</option>
|
||||
<option value="6">5.1 ${LabelSelectAudioChannels}</option>
|
||||
<option value="8">7.1 ${LabelSelectAudioChannels}</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="selectContainer">
|
||||
<select is="emby-select" id="selectAudioLanguage" label="${LabelAudioLanguagePreference}"></select>
|
||||
</div>
|
||||
|
@ -49,6 +59,14 @@
|
|||
${TabAdvanced}
|
||||
</h2>
|
||||
|
||||
<div class="checkboxContainer checkboxContainer-withDescription">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkPreferFmp4HlsContainer" />
|
||||
<span>${PreferFmp4HlsContainer}</span>
|
||||
</label>
|
||||
<div class="fieldDescription checkboxFieldDescription">${PreferFmp4HlsContainerHelp}</div>
|
||||
</div>
|
||||
|
||||
<div class="checkboxContainer checkboxContainer-withDescription cinemaModeOptions">
|
||||
<label>
|
||||
<input type="checkbox" is="emby-checkbox" class="chkEnableCinemaMode" />
|
||||
|
|
|
@ -372,15 +372,26 @@ import ServerConnections from '../ServerConnections';
|
|||
const session = responses[1];
|
||||
|
||||
const displayPlayMethod = playMethodHelper.getDisplayPlayMethod(session);
|
||||
let localizedDisplayMethod = displayPlayMethod;
|
||||
|
||||
if (displayPlayMethod === 'DirectPlay') {
|
||||
localizedDisplayMethod = globalize.translate('DirectPlaying');
|
||||
} else if (displayPlayMethod === 'Remux') {
|
||||
localizedDisplayMethod = globalize.translate('Remuxing');
|
||||
} else if (displayPlayMethod === 'DirectStream') {
|
||||
localizedDisplayMethod = globalize.translate('DirectStreaming');
|
||||
} else if (displayPlayMethod === 'Transcode') {
|
||||
localizedDisplayMethod = globalize.translate('Transcoding');
|
||||
}
|
||||
|
||||
const baseCategory = {
|
||||
stats: [],
|
||||
name: 'Playback Info'
|
||||
name: globalize.translate('LabelPlaybackInfo')
|
||||
};
|
||||
|
||||
baseCategory.stats.unshift({
|
||||
label: globalize.translate('LabelPlayMethod'),
|
||||
value: displayPlayMethod
|
||||
value: localizedDisplayMethod
|
||||
});
|
||||
|
||||
baseCategory.stats.unshift({
|
||||
|
@ -395,30 +406,37 @@ import ServerConnections from '../ServerConnections';
|
|||
for (let i = 0, length = playerStats.length; i < length; i++) {
|
||||
const category = playerStats[i];
|
||||
if (category.type === 'audio') {
|
||||
category.name = 'Audio Info';
|
||||
category.name = globalize.translate('LabelAudioInfo');
|
||||
} else if (category.type === 'video') {
|
||||
category.name = 'Video Info';
|
||||
category.name = globalize.translate('LabelVideoInfo');
|
||||
}
|
||||
categories.push(category);
|
||||
}
|
||||
|
||||
let localizedTranscodingInfo = globalize.translate('LabelTranscodingInfo');
|
||||
if (displayPlayMethod === 'Remux') {
|
||||
localizedTranscodingInfo = globalize.translate('LabelRemuxingInfo');
|
||||
} else if (displayPlayMethod === 'DirectStream') {
|
||||
localizedTranscodingInfo = globalize.translate('LabelDirectStreamingInfo');
|
||||
}
|
||||
|
||||
if (session.TranscodingInfo) {
|
||||
categories.push({
|
||||
stats: getTranscodingStats(session, player, displayPlayMethod),
|
||||
name: displayPlayMethod === 'Transcode' ? 'Transcoding Info' : 'Direct Stream Info'
|
||||
name: localizedTranscodingInfo
|
||||
});
|
||||
}
|
||||
|
||||
categories.push({
|
||||
stats: getMediaSourceStats(session, player),
|
||||
name: 'Original Media Info'
|
||||
name: globalize.translate('LabelOriginalMediaInfo')
|
||||
});
|
||||
|
||||
const apiClient = ServerConnections.getApiClient(playbackManager.currentItem(player).ServerId);
|
||||
if (syncPlayManager.isSyncPlayEnabled() && apiClient.isMinServerVersion('10.6.0')) {
|
||||
categories.push({
|
||||
stats: getSyncPlayStats(),
|
||||
name: 'SyncPlay Info'
|
||||
name: globalize.translate('LabelSyncPlayInfo')
|
||||
});
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue