mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Merge pull request #6196 from viown/prompt-to-skip
Add 'ask to skip' to media segments
This commit is contained in:
commit
fa1934a124
10 changed files with 277 additions and 25 deletions
|
@ -22,10 +22,13 @@ import { getItems } from '../../utils/jellyfin-apiclient/getItems.ts';
|
|||
import { getItemBackdropImageUrl } from '../../utils/jellyfin-apiclient/backdropImage';
|
||||
|
||||
import { bindMediaSegmentManager } from 'apps/stable/features/playback/utils/mediaSegmentManager';
|
||||
import { PlayerEvent } from 'apps/stable/features/playback/constants/playerEvent';
|
||||
import { MediaError } from 'types/mediaError';
|
||||
import { getMediaError } from 'utils/mediaError';
|
||||
import { toApi } from 'utils/jellyfin-apiclient/compat';
|
||||
import { BaseItemKind } from '@jellyfin/sdk/lib/generated-client/models/base-item-kind.js';
|
||||
import browser from 'scripts/browser.js';
|
||||
import { bindSkipSegment } from './skipsegment.ts';
|
||||
|
||||
const UNLIMITED_ITEMS = -1;
|
||||
|
||||
|
@ -933,6 +936,14 @@ export class PlaybackManager {
|
|||
return Promise.resolve(self._playQueueManager.getPlaylist());
|
||||
};
|
||||
|
||||
self.promptToSkip = function (mediaSegment, player) {
|
||||
player = player || self._currentPlayer;
|
||||
|
||||
if (mediaSegment && this._skipSegment) {
|
||||
Events.trigger(player, PlayerEvent.PromptSkip, [mediaSegment]);
|
||||
}
|
||||
};
|
||||
|
||||
function removeCurrentPlayer(player) {
|
||||
const previousPlayer = self._currentPlayer;
|
||||
|
||||
|
@ -3676,6 +3687,9 @@ export class PlaybackManager {
|
|||
}
|
||||
|
||||
bindMediaSegmentManager(self);
|
||||
if (!browser.tv && !browser.xboxOne && !browser.ps4) {
|
||||
this._skipSegment = bindSkipSegment(self);
|
||||
}
|
||||
}
|
||||
|
||||
getCurrentPlayer() {
|
||||
|
@ -3690,6 +3704,10 @@ export class PlaybackManager {
|
|||
return this.getCurrentTicks(player) / 10000;
|
||||
}
|
||||
|
||||
getNextItem() {
|
||||
return this._playQueueManager.getNextItemInfo();
|
||||
}
|
||||
|
||||
nextItem(player = this._currentPlayer) {
|
||||
if (player && !enableLocalPlaylistManagement(player)) {
|
||||
return player.nextItem();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue