dm-unimmersive
Version:
HTML Video player
71 lines (70 loc) • 3.2 kB
TypeScript
import { Segment, PlayerState, Root, RootState, PlayerLabel, UpdatePlayerState } from '../types';
import { AppAction } from '../state/actions';
declare class PlayerController {
scenario: Segment[];
abortedSegment: any;
private _players;
constructor();
get players(): PlayerState[];
set players(new_players: PlayerState[]);
buildPool({ scenario, active_player }: {
scenario: Segment[];
active_player: PlayerState;
}): Segment[];
findSegmentById(id: string, scenario: Segment[]): Segment;
findDefaultSegment(segment: Segment, scenario: Segment[]): Segment | undefined;
handleStateUpdates(store: any, action: AppAction): string | number | boolean | Segment | Segment[] | PlayerState | Root | import("../types").ExtendedVideoJsPlayer | import("../types").RewindingState | import("../types").PopupProps | import("../state/actions").ShowSubtitlesPayload | import("../types").PlayerProgress | import("../types").PlayerProgress[] | {
next_btn: boolean;
} | {
prev_btn: boolean;
} | {
top: boolean | "any";
} | {
bottom: boolean | "any";
} | import("../types").CurrentTime;
getActivePlayer(state: Root): {
id: string;
segment: Segment;
};
updateState(active_player: PlayerState, state: RootState, previous_segment_action?: boolean): {
pool: Segment[];
players: PlayerState[];
watched: Segment[];
next_default_segment: PlayerState;
prev_segment: PlayerState;
active_player_id: string;
};
createPlayer(segment: Segment, label: any): {
id: string;
label: any;
segment: Segment;
};
_replaceWithSavingPosition(prev_players: any, next_players: any, active_player: any): any[];
requestPlayerUpdate(label: PlayerLabel, id: string): UpdatePlayerState;
saveAbortedSegment(segment: Segment): void;
saveAbortedPlayer(player: PlayerState): void;
calcTimeline(state: Root): number;
calcCurrentPosition(state: RootState, current_segment_time: number): number;
returnPreviousSegment(state: Root, return_from_splitting_segment?: boolean): Segment;
getNextSegment(state: Root): Segment;
getWatchedDuration(state: Root): number;
removeDuplicatesAndSplittingFiles(array: Segment[]): Segment[];
_createPoolUntilInteractiveSegment(pool: Segment[]): Segment[];
testViewOfDuration(): import("../types").Branch[];
isPlayerAlreadyExist(id: string): HTMLElement;
getSeekableSegment(seekable: number): {
timeline_duration: number;
seekable_segment: any;
segment_current_time: any;
};
_isNormalOrSplittingSegmentPlaying(id: string): boolean;
getPreviousDuration(): number;
isPreviousSegmentWasSplitting(watched: Segment[]): boolean;
_createPlayers(active_player_id: string, state: Root): PlayerState[];
isPreviousPlayer(id: string): boolean;
isNextPlayer(id: string): boolean;
isSplittingFilePlaying(id: string): boolean;
isNormalSegmentPlaying(id: string): boolean;
}
declare const _default: PlayerController;
export default _default;