@exmg/livery
Version:
Ex Machina Group Livery Web SDK.
111 lines (110 loc) • 2.84 kB
TypeScript
export declare class Config {
/**
* Analytics options.
*/
analytics: {
/**
* Amazon Pinpoint App Client ID.
*/
appId: string;
/**
* Ex Machina Customer ID.
*/
customerId: string;
/**
* Amazon Cognito Identity Pool ID.
*/
identityPoolId: string;
/**
* Amazon service region.
*/
region: string;
/**
* Percentage of players that should use analytics.
*/
samplingPercentage: number;
};
/**
* Which controls to enable.
*/
controls: {
/**
* Enable toggling AirPlay and/or Chromecast display.
*/
cast: boolean;
/**
* Enable error feedback and recovery controls.
*/
error: boolean;
/**
* Enable toggling fullscreen display.
*/
fullscreen: boolean;
/**
* Enable muting and unmuting audio.
*/
mute: boolean;
/**
* Enable toggling picture-in-picture display.
*/
pip: boolean;
/**
* Enable quality selection.
*/
quality: boolean;
};
/**
* If true then enable Audio Only playback quality.
*/
enableAudioOnly: boolean;
/**
* Determines how the video and posters will be scaled and cropped.
*/
fit: "CONTAIN" | "COVER" | "FILL" | "SCALE_DOWN";
/**
* The URL to load into the interactive layer.
*/
interactiveUrl: string;
/**
* Maximum delay in seconds between subsequent recovery attempts.
*/
maxRecoveryDelay: number;
/**
* Minimum delay in seconds before starting automatic recovery.
*/
minRecoveryDelay: number;
/**
* A URL for an image to be shown while the streamPhase is POST.
*/
postPoster: string;
/**
* A URL for an image to be shown while the video is loading or ended and streamPhase is LIVE.
*/
poster: string;
/**
* A URL for an image to be shown while the streamPhase is PRE.
*/
prePoster: string;
/**
* Source URL to play before the main sources.
*/
preRoll: string;
/**
* Array of media source URLs from which the first that can be played will be selected.
*/
sources: string[];
/**
* Livery stream phase, e.g: PRE/LIVE/POST before/during/after streaming to viewers.
*/
streamPhase: 'LIVE' | 'POST' | 'PRE';
/**
* Target live latency in seconds. If 0 then syncing is disabled.
*/
targetLatency: number;
/**
* If true then do not show Livery branding.
*/
unbranded: boolean;
static fetch(streamId: string, type: string): Promise<Config>;
isEqual(otherConfig: Config): boolean;
}