mirror of
https://github.com/zoriya/v10.git
synced 2026-08-16 02:45:09 +00:00
42 lines
1.7 KiB
TypeScript
42 lines
1.7 KiB
TypeScript
import { Composition } from "../../../core/composition/create-composition.js";
|
|
import { SimpleHlsEngineContext, SimpleHlsEngineState } from "./engine.js";
|
|
import { Constructor, MixinReturn } from "@videojs/utils/types";
|
|
//#region src/playback/engines/hls/adapter.d.ts
|
|
interface SimpleHlsMediaProps {
|
|
src: string;
|
|
preload: '' | 'none' | 'metadata' | 'auto';
|
|
disableRemotePlayback: boolean;
|
|
}
|
|
declare const simpleHlsMediaDefaultProps: SimpleHlsMediaProps;
|
|
interface SimpleHlsMediaAPI extends SimpleHlsMediaProps {
|
|
readonly engine: Composition<SimpleHlsEngineState, SimpleHlsEngineContext>;
|
|
attach(mediaElement: HTMLMediaElement): void;
|
|
detach(): void;
|
|
destroy(): void;
|
|
play(): Promise<void>;
|
|
}
|
|
/**
|
|
* Mixin that adds SPF playback engine behavior to any base class.
|
|
*
|
|
* Implements the src/play() contract per the WHATWG HTML spec so that SPF can
|
|
* be used anywhere a media element API is expected.
|
|
*
|
|
* A single engine instance is created at construction and recycled across src
|
|
* changes.
|
|
*
|
|
* @example
|
|
* class SimpleHlsMedia extends SimpleHlsMediaMixin(HTMLVideoElementHost) {}
|
|
*
|
|
* const media = new SimpleHlsMedia();
|
|
* media.attach(document.querySelector('video'));
|
|
* media.src = 'https://stream.mux.com/abc123.m3u8';
|
|
*/
|
|
declare function SimpleHlsMediaMixin<Base extends Constructor<any>>(BaseClass: Base): MixinReturn<Base, SimpleHlsMediaAPI>;
|
|
declare const SimpleHlsMediaElement_base: MixinReturn<{
|
|
new (): {};
|
|
}, SimpleHlsMediaAPI>;
|
|
/** Standalone SPF media adapter with no base class. */
|
|
declare class SimpleHlsMediaElement extends SimpleHlsMediaElement_base {}
|
|
//#endregion
|
|
export { SimpleHlsMediaAPI, SimpleHlsMediaElement, SimpleHlsMediaMixin, SimpleHlsMediaProps, simpleHlsMediaDefaultProps };
|
|
//# sourceMappingURL=adapter.d.ts.map
|