@byomakase/omakase-player
Version:
## Omakase Player - Open source JavaScript framework for building frame accurate video experiences
80 lines (79 loc) • 2.68 kB
TypeScript
import { Api } from './api';
import { TimelineConfig } from '../timeline';
import { Observable } from 'rxjs';
import { SubtitlesApi } from './subtitles-api';
import { VideoApi } from './video-api';
import { AudioApi } from './audio-api';
import { TimelineApi } from './timeline-api';
import { Video, VideoLoadOptions } from '../video';
import { MarkerListConfig } from '../marker-list/marker-list';
import { MarkerListApi } from './marker-list-api';
import { ConfigWithOptionalStyle } from '../layout';
import { RouterVisualizationConfig } from '../router-visualization/router-visualization';
import { RouterVisualizationApi } from './router-visualization-api';
import { AuthenticationData } from '../common/authentication';
import { OmakasePlayerConfig } from '../omakase-player';
import { ChromingApi } from './chroming-api';
export interface OmakasePlayerApi extends Api {
/**
* Loads new video
* @param videoSourceUrl Video manifest URL
*/
loadVideo(videoSourceUrl: string): Observable<Video>;
/**
* Loads new video
*
* @param videoSourceUrl Video manifest URL
* @param options
*/
loadVideo(videoSourceUrl: string, options?: VideoLoadOptions): Observable<Video>;
/**
* Creates Timeline
* @param config Timeline configuration
*/
createTimeline(config: Partial<ConfigWithOptionalStyle<TimelineConfig>>): Observable<TimelineApi>;
/**
* Creates Marker List
* @param config Marker List configuration
*/
createMarkerList(config: MarkerListConfig): Observable<MarkerListApi>;
/**
* Initializes Router Visualization component
* @param config Router Visualization configuration
*/
initializeRouterVisualization(config: RouterVisualizationConfig): RouterVisualizationApi;
/**
* Set authentication for HLS.js, VTT and thumbnail image requests
* @param authentication Basic authentication, Bearer token authentication or custom authentication function
*/
setAuthentication(authentication: AuthenticationData): void;
/**
* @returns Timeline API
*/
get timeline(): TimelineApi | undefined;
/**
* @returns Video API
*/
get video(): VideoApi;
/**
* @returns Audio API
*/
get audio(): AudioApi;
/**
* @returns Subtitles API
*/
get subtitles(): SubtitlesApi;
/**
* @returns Chroming API
*/
get chroming(): ChromingApi;
/**
* @returns OmakasePlayerConfig
*/
get config(): OmakasePlayerConfig;
set config(config: OmakasePlayerConfig);
/**
* Destroys OmakasePlayer instance and frees up memory
*/
destroy(): void;
}