1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Merge pull request #1198 from ferferga/mobile-backdrops

Switch player backdrops to poster attribute of the video element
This commit is contained in:
dkanada 2020-05-14 14:41:20 +09:00 committed by GitHub
commit 62f30f0066
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 29 deletions

View file

@ -842,7 +842,6 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa
function onNavigatedToOsd() {
var dlg = videoDialog;
if (dlg) {
dlg.classList.remove('videoPlayerContainer-withBackdrop');
dlg.classList.remove('videoPlayerContainer-onTop');
onStartedAndNavigatedToOsd();
@ -879,7 +878,6 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa
} else {
appRouter.setTransparency('backdrop');
videoDialog.classList.remove('videoPlayerContainer-withBackdrop');
videoDialog.classList.remove('videoPlayerContainer-onTop');
onStartedAndNavigatedToOsd();
@ -1296,12 +1294,6 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa
function createMediaElement(options) {
if (browser.tv || browser.iOS || browser.mobile) {
// too slow
// also on iOS, the backdrop image doesn't look right
// on android mobile, it works, but can be slow to have the video surface fully cover the backdrop
options.backdropUrl = null;
}
return new Promise(function (resolve, reject) {
var dlg = document.querySelector('.videoPlayerContainer');
@ -1316,11 +1308,6 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa
dlg.classList.add('videoPlayerContainer');
if (options.backdropUrl) {
dlg.classList.add('videoPlayerContainer-withBackdrop');
dlg.style.backgroundImage = "url('" + options.backdropUrl + "')";
}
if (options.fullscreen) {
dlg.classList.add('videoPlayerContainer-onTop');
}
@ -1354,6 +1341,9 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa
videoElement.addEventListener('play', onPlay);
videoElement.addEventListener('click', onClick);
videoElement.addEventListener('dblclick', onDblClick);
if (options.backdropUrl) {
videoElement.poster = options.backdropUrl;
}
document.body.insertBefore(dlg, document.body.firstChild);
videoDialog = dlg;
@ -1378,11 +1368,6 @@ define(['browser', 'require', 'events', 'apphost', 'loading', 'dom', 'playbackMa
}
});
} else {
if (options.backdropUrl) {
dlg.classList.add('videoPlayerContainer-withBackdrop');
dlg.style.backgroundImage = "url('" + options.backdropUrl + "')";
}
resolve(dlg.querySelector('video'));
}
});