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

use random backdrop image in video player

This commit is contained in:
TheMelmacian 2023-07-07 22:54:44 +02:00
parent aec90cbc96
commit 23a22d6b24
2 changed files with 9 additions and 24 deletions

View file

@ -14,6 +14,7 @@ import alert from '../alert';
import { PluginType } from '../../types/plugin.ts'; import { PluginType } from '../../types/plugin.ts';
import { includesAny } from '../../utils/container.ts'; import { includesAny } from '../../utils/container.ts';
import { getItems } from '../../utils/jellyfin-apiclient/getItems.ts'; import { getItems } from '../../utils/jellyfin-apiclient/getItems.ts';
import { getRandomItemBackdropImageUrl } from '../../utils/url';
const UNLIMITED_ITEMS = -1; const UNLIMITED_ITEMS = -1;
@ -154,28 +155,6 @@ function mergePlaybackQueries(obj1, obj2) {
return query; return query;
} }
function backdropImageUrl(apiClient, item, options) {
options = options || {};
options.type = options.type || 'Backdrop';
// If not resizing, get the original image
if (!options.maxWidth && !options.width && !options.maxHeight && !options.height && !options.fillWidth && !options.fillHeight) {
options.quality = 100;
}
if (item.BackdropImageTags?.length) {
options.tag = item.BackdropImageTags[0];
return apiClient.getScaledImageUrl(item.Id, options);
}
if (item.ParentBackdropImageTags?.length) {
options.tag = item.ParentBackdropImageTags[0];
return apiClient.getScaledImageUrl(item.ParentBackdropItemId, options);
}
return null;
}
function getMimeType(type, container) { function getMimeType(type, container) {
container = (container || '').toLowerCase(); container = (container || '').toLowerCase();
@ -2693,7 +2672,7 @@ class PlaybackManager {
title: item.Name title: item.Name
}; };
const backdropUrl = backdropImageUrl(apiClient, item, {}); const backdropUrl = getRandomItemBackdropImageUrl(apiClient, item);
if (backdropUrl) { if (backdropUrl) {
resultInfo.backdropUrl = backdropUrl; resultInfo.backdropUrl = backdropUrl;
} }

View file

@ -1664,7 +1664,13 @@ export class HtmlVideoPlayer {
} }
} }
return Promise.resolve(dlg.querySelector('video')); const videoElement = dlg.querySelector('video');
if (options.backdropUrl) {
// update backdrop image
videoElement.poster = options.backdropUrl;
}
return Promise.resolve(videoElement);
} }
} }