import { MediaEngineHost } from "../../core/types.js"; import { WithMediaTracks } from "../../core/media-tracks/mixin.js"; import { HTMLVideoElementHost } from "../video-host/video-host.js"; import * as dashjs from "dashjs"; //#region src/dom/dash/media.d.ts /** Structured DASH source: which source to play, plus how to play it. */ interface DashSource { /** MPD URL. Mirrors the host's `src` property. */ src?: string | undefined; /** Playback options, keyed by the engine that reads them. */ engine?: DashEngineConfig | undefined; } /** The engines a DASH source can configure. */ interface DashEngineConfig { /** * dash.js's own settings, passed through untouched. Replacing them resets any * previously applied settings. */ dashJs?: dashjs.MediaPlayerSettingClass | undefined; } interface DashMediaProps { src: string; source: DashSource | null; } declare const dashMediaDefaultProps: DashMediaProps; declare const DashMediaHost: WithMediaTracks; declare class DashMediaBase extends DashMediaHost implements MediaEngineHost, DashMediaProps { #private; constructor(); attach(target: HTMLVideoElement): void; detach(): void; destroy(): void; /** * Underlying playback engine — the dash.js `MediaPlayerClass` instance. An * advanced escape hatch for direct engine access; normal playback is driven * through this element's own properties and methods. */ get engine(): dashjs.MediaPlayerClass; get src(): string; /** MPD URL. Setting it re-derives `source`, carrying its settings over. */ set src(value: string); /** * Structured source: the MPD URL in `src`, plus dash.js settings in * `engine.dashJs`. Replacing it re-derives `src`. * * dash.js takes settings on a live player, so changing `engine.dashJs` * re-applies them in place instead of recreating the engine. */ get source(): DashSource | null; set source(value: DashSource | null); } declare const DashMedia_base: typeof DashMediaBase; /** * @fires sourcechange - Fired when `source` changes, either directly or by resolving a new `src`. Read `source` for the new value. */ declare class DashMedia extends DashMedia_base {} //#endregion export { DashEngineConfig, DashMedia, DashMediaProps, DashSource, dashMediaDefaultProps }; //# sourceMappingURL=media.d.ts.map