rx-player
Version:
Canal+ HTML5 Video Player
65 lines • 2.17 kB
TypeScript
import type { ITextDisplayerData } from "../../main_thread/types";
import type { IRange } from "../../utils/ranges";
import type { ITextDisplayerInterface } from "../segment_sinks";
import type { IPushTextDataCoreMessage, IRemoveTextDataCoreMessage, IResetTextDisplayerCoreMessage, IStopTextDisplayerCoreMessage } from "../types";
/**
* Implementation of an `ITextDisplayerInterface` for the Core, that can run in
* a WebWorker (so, in a different thread than the `ITextDisplayer`).
*
* @class CoreTextDisplayerInterface
*/
export default class CoreTextDisplayerInterface implements ITextDisplayerInterface {
private _contentId;
private _messageSender;
_queues: {
pushTextData: Array<{
resolve: (ranges: IRange[]) => void;
reject: (err: unknown) => void;
}>;
remove: Array<{
resolve: (ranges: IRange[]) => void;
reject: (err: unknown) => void;
}>;
};
/**
* @param {string} contentId
* @param {Object} messageSender
*/
constructor(contentId: string, messageSender: (msg: ICoreTextDisplayerInterfaceMessage) => void);
/**
* @see ITextDisplayerInterface
*/
pushTextData(infos: ITextDisplayerData): Promise<IRange[]>;
/**
* @see ITextDisplayerInterface
*/
remove(start: number, end: number): Promise<IRange[]>;
/**
* @see ITextDisplayerInterface
*/
reset(): void;
/**
* @see ITextDisplayerInterface
*/
stop(reason: string | undefined): void;
private _resetCurrentQueue;
/**
* @param {Array.<Object>} ranges
*/
onPushedTrackSuccess(ranges: IRange[]): void;
/**
* @param {unknown} err
*/
onPushedTrackError(err: Error): void;
/**
* @param {Array.<Object>} ranges
*/
onRemoveSuccess(ranges: IRange[]): void;
/**
* @param {unknown} err
*/
onRemoveError(err: Error): void;
}
type ICoreTextDisplayerInterfaceMessage = IPushTextDataCoreMessage | IRemoveTextDataCoreMessage | IStopTextDisplayerCoreMessage | IResetTextDisplayerCoreMessage;
export {};
//# sourceMappingURL=core_text_displayer_interface.d.ts.map