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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
playbackManager.getPlaybackMediaSources(item).then(function (mediaSources) {
|
var mediaSources = item.MediaSources;
|
||||||
instance._currentPlaybackMediaSources = mediaSources;
|
instance._currentPlaybackMediaSources = mediaSources;
|
||||||
page.querySelector('.trackSelections').classList.remove('hide');
|
page.querySelector('.trackSelections').classList.remove('hide');
|
||||||
select.setLabel(globalize.translate('LabelVersion'));
|
select.setLabel(globalize.translate('LabelVersion'));
|
||||||
var currentValue = select.value;
|
var currentValue = select.value;
|
||||||
var selectedId = mediaSources[0].Id;
|
var selectedId = mediaSources[0].Id;
|
||||||
select.innerHTML = mediaSources.map(function (v) {
|
select.innerHTML = mediaSources.map(function (v) {
|
||||||
var selected = v.Id === selectedId ? ' selected' : '';
|
var selected = v.Id === selectedId ? ' selected' : '';
|
||||||
return '<option value="' + v.Id + '"' + selected + '>' + v.Name + '</option>';
|
return '<option value="' + v.Id + '"' + selected + '>' + v.Name + '</option>';
|
||||||
}).join('');
|
}).join('');
|
||||||
|
|
||||||
if (mediaSources.length > 1) {
|
if (mediaSources.length > 1) {
|
||||||
page.querySelector('.selectSourceContainer').classList.remove('hide');
|
page.querySelector('.selectSourceContainer').classList.remove('hide');
|
||||||
} else {
|
} else {
|
||||||
page.querySelector('.selectSourceContainer').classList.add('hide');
|
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) {
|
function renderVideoSelections(page, mediaSources) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue