@playkit-js/playkit-js
Version:
[](https://github.com/kaltura/playkit-js/actions/workflows/run_canary.yaml) [ • 2.25 kB
text/typescript
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[]);
}