@playkit-js/kaltura-player-js
Version:
[](https://github.com/kaltura/kaltura-player-js/actions/workflows/run_canary.yaml) [ • 4.53 kB
TypeScript
/**
* IMPORTANT:
* 1. This file was auto generated by app.quicktype.io based on single config combination so you should expect issues
* 2. All properties were marked originally as optional.
* 3. Everyone are welcome to improve this file declarations by:
* - Adding Enums
* - Marking mandatory fields
* - Adding missing properties
* - Improving names of export interfaces
*/
declare namespace KalturaPlayerTypes {
export interface PlayerConfig {
log?: Log;
sources: Sources;
plugins: Record<string, Record<string, any>>;
playback: Playback;
abr?: ABR;
drm?: DRM;
network?: Network;
advertising?: Advertising;
disableUserCache?: boolean;
provider: Provider;
targetId?: string;
ui?: UI;
session: Session;
}
export enum EntryTypes {
Vod = 'Vod',
Live = 'Live'
}
export interface ABR {
enabled?: boolean;
fpsDroppedFramesInterval?: number;
fpsDroppedMonitoringThreshold?: number;
capLevelOnFPSDrop?: boolean;
capLevelToPlayerSize?: boolean;
defaultBandwidthEstimate?: number;
restrictions?: Restrictions;
}
export interface Restrictions {
minBitrate?: number;
maxBitrate?: null;
}
export interface Advertising {
adBreaks?: any[];
}
export interface DRM {
keySystem?: string;
}
export interface Log {
level?: string;
}
export interface Network {}
export interface Playback {
audioLanguage?: string;
textLanguage?: string;
useNativeTextTrack?: boolean;
enableCEA708Captions?: boolean;
captionsTextTrack1Label?: string;
captionsTextTrack1LanguageCode?: string;
captionsTextTrack2Label?: string;
captionsTextTrack2LanguageCode?: string;
volume?: number;
startTime?: number;
playsinline?: boolean;
preload?: string;
autoplay?: boolean;
loop?: boolean;
allowMutedAutoPlay?: boolean;
muted?: boolean;
pictureInPicture?: boolean;
options?: Options;
preferNative?: PreferNative;
inBrowserFullscreen?: boolean;
playAdsWithMSE?: boolean;
streamPriority?: StreamPriority[];
}
export interface Options {
html5?: Html5;
}
export interface Html5 {
hls?: Network;
dash?: Network;
native?: Network;
}
export interface PreferNative {
hls?: boolean;
dash?: boolean;
}
export interface StreamPriority {
engine?: string;
format?: string;
}
export interface Provider {
env: Env;
partnerId?: string;
uiConfId?: string;
ks: string;
log?: Log;
}
export interface Env {
serviceUrl: string;
cdnUrl?: string;
statsServiceUrl?: string;
liveStatsServiceUrl?: string;
analyticsServiceUrl?: string;
apiFeatures?: APIFeatures;
browser: Browser;
os: OS;
}
export interface Browser {
name: string;
version: string;
}
export interface OS {
name: string;
version: string;
major: string;
}
export interface APIFeatures {
entryRedirect?: string;
}
export interface Session {
isAnonymous?: boolean;
partnerId?: string;
uiConfId?: string;
ks?: string;
id?: string;
}
export interface Sources {
options?: Network;
hls?: Dash[];
dash?: Dash[];
progressive?: Progressive[];
id: string;
duration?: number;
type: EntryTypes;
poster?: string;
dvr?: boolean;
vr?: null;
metadata?: Metadata;
captions?: KalturaCaptionSource[];
downloadUrl?: string;
}
export interface Dash {
id?: string;
url?: string;
mimetype?: string;
}
export interface Metadata {
name?: string;
description?: string;
tags?: string;
}
export interface KalturaCaptionSource {
default: boolean;
label: string;
language: string;
type: string;
url: string;
}
export interface Progressive {
id?: string;
url?: string;
mimetype?: string;
bandwidth?: number;
width?: number;
height?: number;
label?: string;
}
export interface UI {
stargetId?: string;
debug?: boolean;
log?: Log;
}
export interface MediaInfo {
entryId?: string;
referenceId?: string;
ks?: string;
}
export interface OVPMediaInfo extends MediaInfo {}
export interface OTTMediaInfo extends MediaInfo {
mediaType: string;
contextType: string;
protocol?: string;
fileIds?: string;
streamerType?: string;
urlType?: string;
adapterData?: any;
assetReferenceType?: string;
formats?: Array<string>;
}
}