rx-player
Version:
Canal+ HTML5 Video Player
25 lines • 1.84 kB
TypeScript
import type { IFeature } from "./features";
import type { IManifestLoader, IRepresentationFilter, ISegmentLoader } from "./public_types";
type IEventRecord<TEventName extends string = string, P = unknown> = Record<TEventName, P>;
type IEventPayload<TEventRecord, TEventName extends keyof TEventRecord> = TEventRecord[TEventName];
type IListener<TEventRecord extends IEventRecord, TEventName extends keyof TEventRecord> = (args: IEventPayload<TEventRecord, TEventName>) => void;
export default class RxPlayerWorker<TReceivingEventRecord extends IEventRecord = Record<string, unknown>, TSendingEventRecord extends IEventRecord = Record<string, unknown>> {
private _messageListeners;
_representationFiltersMap: Map<string, IRepresentationFilter>;
_segmentLoadersMap: Map<string, ISegmentLoader>;
_manifestLoadersMap: Map<string, IManifestLoader>;
/**
* Add feature(s) to the RxPlayer.
* @param {Array.<Object>} featureList - Features wanted.
*/
static addFeatures(featureList: IFeature[]): void;
constructor();
registerRepresentationFilter(identifier: string, implem: IRepresentationFilter | null): void;
registerSegmentLoader(identifier: string, implem: ISegmentLoader | null): void;
registerManifestLoader(identifier: string, implem: IManifestLoader | null): void;
addMessageListener<TEventName extends keyof TReceivingEventRecord>(messageName: TEventName, callback: IListener<TReceivingEventRecord, TEventName>): void;
removeMessageListener<TEventName extends keyof TReceivingEventRecord>(messageName: TEventName, callback: IListener<TReceivingEventRecord, TEventName>): void;
sendMessage<TEventName extends keyof TSendingEventRecord>(messageName: TEventName, payload: TSendingEventRecord[TEventName]): void;
}
export {};
//# sourceMappingURL=importable_worker.d.ts.map