mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Avoid async rendering of MediaSources tracks to prevent content jump
This commit is contained in:
parent
a27eae98e5
commit
1691827cee
1 changed files with 21 additions and 21 deletions
|
@ -141,29 +141,29 @@ define(['loading', 'appRouter', 'layoutManager', 'connectionManager', 'userSetti
|
|||
return;
|
||||
}
|
||||
|
||||
playbackManager.getPlaybackMediaSources(item).then(function (mediaSources) {
|
||||
instance._currentPlaybackMediaSources = mediaSources;
|
||||
page.querySelector('.trackSelections').classList.remove('hide');
|
||||
select.setLabel(globalize.translate('LabelVersion'));
|
||||
var currentValue = select.value;
|
||||
var selectedId = mediaSources[0].Id;
|
||||
select.innerHTML = mediaSources.map(function (v) {
|
||||
var selected = v.Id === selectedId ? ' selected' : '';
|
||||
return '<option value="' + v.Id + '"' + selected + '>' + v.Name + '</option>';
|
||||
}).join('');
|
||||
var mediaSources = item.MediaSources;
|
||||
instance._currentPlaybackMediaSources = mediaSources;
|
||||
page.querySelector('.trackSelections').classList.remove('hide');
|
||||
select.setLabel(globalize.translate('LabelVersion'));
|
||||
var currentValue = select.value;
|
||||
var selectedId = mediaSources[0].Id;
|
||||
select.innerHTML = mediaSources.map(function (v) {
|
||||
var selected = v.Id === selectedId ? ' selected' : '';
|
||||
return '<option value="' + v.Id + '"' + selected + '>' + v.Name + '</option>';
|
||||
}).join('');
|
||||
|
||||
if (mediaSources.length > 1) {
|
||||
page.querySelector('.selectSourceContainer').classList.remove('hide');
|
||||
} else {
|
||||
page.querySelector('.selectSourceContainer').classList.add('hide');
|
||||
}
|
||||
if (mediaSources.length > 1) {
|
||||
page.querySelector('.selectSourceContainer').classList.remove('hide');
|
||||
} else {
|
||||
page.querySelector('.selectSourceContainer').classList.add('hide');
|
||||
}
|
||||
|
||||
if (select.value !== currentValue || forceReload) {
|
||||
renderVideoSelections(page, mediaSources);
|
||||
renderAudioSelections(page, mediaSources);
|
||||
renderSubtitleSelections(page, mediaSources);
|
||||
}
|
||||
|
||||
if (select.value !== currentValue || forceReload) {
|
||||
renderVideoSelections(page, mediaSources);
|
||||
renderAudioSelections(page, mediaSources);
|
||||
renderSubtitleSelections(page, mediaSources);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function renderVideoSelections(page, mediaSources) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue