import type { ISegmentSinksStore, IStreamOrchestratorPlaybackObservation } from "../../core/types"; import type { IManifest, IPeriod } from "../../manifest"; import type { IMediaSourceInterface } from "../../mse"; import type { IReadOnlyPlaybackObserver } from "../../playback_observer"; import type { IPlayerError } from "../../public_types"; import type { CancellationSignal } from "../../utils/task_canceller"; import ContentTimeBoundariesObserver from "./content_time_boundaries_observer"; export interface IContentTimeBoundariesObserverCallbacks { onWarning: (evt: IPlayerError) => void; onPeriodChanged: (period: IPeriod) => void; } /** * Creates a `ContentTimeBoundariesObserver`, a class indicating various * events related to media time (such as duration updates, period changes, * warnings about being out of the Manifest time boundaries or "endOfStream" * management), handle those events and returns the class. * * Various methods from that class need then to be called at various events * (see `ContentTimeBoundariesObserver`). * @param {Object} manifest * @param {Object} mediaSource * @param {Object} streamObserver * @param {Object} segmentSinksStore * @param {Object} cancelSignal * @returns {Object} */ export default function createContentTimeBoundariesObserver(manifest: IManifest, mediaSource: IMediaSourceInterface, streamObserver: IReadOnlyPlaybackObserver, segmentSinksStore: ISegmentSinksStore, callbacks: IContentTimeBoundariesObserverCallbacks, cancelSignal: CancellationSignal): ContentTimeBoundariesObserver; //# sourceMappingURL=create_content_time_boundaries_observer.d.ts.map