UNPKG

@playkit-js/playkit-js

Version:

[![Build Status](https://github.com/kaltura/playkit-js/actions/workflows/run_canary.yaml/badge.svg)](https://github.com/kaltura/playkit-js/actions/workflows/run_canary.yaml) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.

54 lines (51 loc) 2.25 kB
import VideoTrack from '../../track/video-track'; import AudioTrack from '../../track/audio-track'; import { PKTextTrack } from '../../track/text-track'; import { PKDrmConfigObject } from '../drm-config'; import { PKMediaSourceCapabilities } from '../media-source-capabilities'; import { PKMediaSourceObject } from '../media-source'; import ImageTrack from '../../track/image-track'; import { PKDrmDataObject } from '../drm-data'; import { FakeEventTarget } from '../../event/fake-event-target'; import { ThumbnailInfo } from '../../thumbnail/thumbnail-info'; import Track from '../../track/track'; import TextStyle from '../../track/text-style'; import { PKABRRestrictionObject } from '../restrictions-types'; export interface IMediaSourceAdapterStatic { id: string; isSupported(): boolean; isMSESupported(): boolean; canPlayType(mimeType: string): boolean; canPlayDrm(drmData: Array<Object>, drmConfig: PKDrmConfigObject): boolean; createAdapter(videoElement: HTMLVideoElement, source: PKMediaSourceObject, config: Object): IMediaSourceAdapter; } export interface IMediaSourceAdapter extends FakeEventTarget { src: string; liveDuration: number; capabilities: PKMediaSourceCapabilities; targetBuffer: number; load(startTime?: number): Promise<{ tracks: Track[] }>; handleMediaError(error?: MediaError): boolean; destroy(): Promise<any>; selectVideoTrack(videoTrack: VideoTrack): void; selectAudioTrack(audioTrack: AudioTrack): void; selectTextTrack(textTrack: PKTextTrack): void; selectImageTrack(imageTrack: ImageTrack): void; hideTextTrack(): void; enableAdaptiveBitrate(): void; isAdaptiveBitrateEnabled(): boolean; seekToLiveEdge(): void; isLive(): boolean; isOnLiveEdge(): boolean; getStartTimeOfDvrWindow(): number; setMaxBitrate(bitrate: number): void; attachMediaSource(): void; detachMediaSource(): void; getSegmentDuration(): number; disableNativeTextTracks(): void; getThumbnail(time: number): ThumbnailInfo | null; getDrmInfo(): PKDrmDataObject | null; applyABRRestriction(restriction: PKABRRestrictionObject): void; applyTextTrackStyles(sheet: CSSStyleSheet, styles: TextStyle, containerId: string, engineClassName?: string): void; setCachedUrls(cachedUrls: string[]); }