@playkit-js/playkit-js
Version:
[](https://github.com/kaltura/playkit-js/actions/workflows/run_canary.yaml) [ • 3.18 kB
text/typescript
import VideoTrack from '../../track/video-track';
import AudioTrack from '../../track/audio-track';
import { FakeEventTarget } from '../../event/fake-event-target';
import { ThumbnailInfo } from '../../thumbnail/thumbnail-info';
import ImageTrack from '../../track/image-track';
import { PKMediaSourceObject } from '../media-source';
import { PKDrmConfigObject } from '../drm-config';
import { PKDrmDataObject } from '../drm-data';
import { PKABRRestrictionObject } from '../restrictions-types';
import Track from '../../track/track';
import { PKTextTrack } from '../../track/text-track';
import { IMediaSourceAdapter } from '../../types';
export interface IEngineStatic {
id: string;
createEngine(source: PKMediaSourceObject, config: Object, playerId: string): IEngine;
canPlaySource(source: PKMediaSourceObject, preferNative: boolean, drmConfig: PKDrmConfigObject): boolean;
runCapabilities(): void;
getCapabilities(): Promise<any>;
setCapabilities(capabilities: { [name: string]: any }): void;
prepareVideoElement(playerId: string): void;
isSupported(): boolean;
}
export interface IEngine extends FakeEventTarget {
restore(source: PKMediaSourceObject, config: Object): void;
destroy(): void;
attach(): void;
detach(): void;
play(): Promise<any> | undefined;
pause(): void;
load(startTime?: number): Promise<{ tracks: Track[] }>;
reset(): void;
selectVideoTrack(videoTrack: VideoTrack): void;
selectAudioTrack(audioTrack: AudioTrack): void;
selectTextTrack(textTrack: PKTextTrack): void;
selectImageTrack(imageTrack: ImageTrack): void;
isPictureInPictureSupported(): boolean;
enterPictureInPicture(): void;
exitPictureInPicture(): void;
hideTextTrack(): void;
enableAdaptiveBitrate(): void;
isAdaptiveBitrateEnabled(): boolean;
applyABRRestriction(restrictions: PKABRRestrictionObject): void;
seekToLiveEdge(): void;
getStartTimeOfDvrWindow(): number;
isLive(): boolean;
getVideoElement(): HTMLVideoElement;
resetAllCues(): void;
attachMediaSource(): void;
detachMediaSource(): void;
getThumbnail(time: number): ThumbnailInfo | null;
isOnLiveEdge(): boolean;
addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack | undefined;
getNativeTextTracks(): TextTrack[];
getDrmInfo(): PKDrmDataObject | null;
setCachedUrls(cachedUrls: string[]);
shouldAddTextTrack?(): void
id: string;
currentTime: number;
duration: number;
liveDuration: number;
volume: number;
paused: boolean;
seeking: boolean;
played: TimeRanges;
buffered: TimeRanges;
videoHeight: number;
videoWidth: number;
muted: boolean;
defaultMuted: boolean;
src: string;
poster: string;
preload: 'none' | 'metadata' | 'auto' | '';
autoplay: boolean;
controls: boolean;
loop: boolean;
error: MediaError | null;
seekable: TimeRanges;
ended: boolean;
playbackRate: number;
playbackRates: Array<number>;
defaultPlaybackRate: number;
isInPictureInPicture: boolean;
networkState: number;
readyState: number;
playsinline: boolean;
crossOrigin: string | null;
targetBuffer: number;
availableBuffer: number;
mediaSourceAdapter: IMediaSourceAdapter | null;
}