/** * @packageDocumentation Presentation.package * * Provides MSE interface to render the content from the PWX Stream * data structure. It handles all of the related presentation logic: * * - Segment data queuing and appendage * - Buffer clearing * - timestamp offset handling * - Gap handling * - Video element related utilities * * ### `Presentation` Package Dependency Graph *
Presentation
Core
Data
Capabilities
SegmentProcessing
Source
BitmovinV8StaticApi
Network
Adaptation
NoAdaptation
BitmovinV8Core
BitmovinVideoElementUtils
*/ import type { ContextHaving, ContextUsing } from '../../../framework-types/execution-context/Types'; import type { NamedTask, Task } from '../../../framework-types/task/Types'; import { BundleExportNames } from '../../bundles/Types'; import type { EmptyObject } from '../../Types'; import type { PlatformCapabilities } from '../capabilities/Types'; import { CapabilitiesExportNames } from '../capabilities/Types'; import type { Constants } from '../core/Constants'; import type { MapStateAtom } from '../core/state/MapStateAtom'; import type { ContainerFormat } from '../core/state/segment/SegmentDataAtom'; import type { SelectionGroupAtom } from '../core/state/selection-group/SelectionGroupAtom'; import type { StoreEffectFactory } from '../core/state/StoreEffectFactory'; import type { StreamTimelineAtom } from '../core/state/stream-timeline/StreamTimelineMapAtom'; import type { CoreEffects, CoreStateAtoms } from '../core/Types'; import { CoreExportNames } from '../core/Types'; import type { Logger } from '../core/utils/Logger'; import type { CoreUtils } from '../core/utils/Types'; import { DataExportNames } from '../data/Types'; import type SegmentProcessorErrors from '../segment-processing/Errors'; import type { SegmentProcessingComponent, SegmentProcessorContext, SelectContainerFormatInput } from '../segment-processing/Types'; import { SegmentProcessingExportNames } from '../segment-processing/Types'; import type { SourceState } from '../source/atoms/SourceStateAtom'; import { SourceExportNames } from '../source/Types'; import type { ContextWithState } from '../Types'; import type { SegmentOutputCache } from './cache/Types'; import { PresentationExportNames } from './Types'; type Dependencies = { [BundleExportNames.Logger]: Logger; [CoreExportNames.Utils]: CoreUtils; [SourceExportNames.SourceState]: SourceState; [CoreExportNames.CoreEffects]: CoreEffects; [CoreExportNames.Constants]: Constants; [CoreExportNames.CoreStateAtoms]: CoreStateAtoms; [DataExportNames.StreamTimeline]: StreamTimelineAtom; [CapabilitiesExportNames.PlatformCapabilities]: PlatformCapabilities; [SegmentProcessingExportNames.SegmentProcessingComponent]: SegmentProcessingComponent; [SegmentProcessingExportNames.SegmentProcessorErrors]: typeof SegmentProcessorErrors; }; export type SelectContainerFormatTaskType = (context: PresentationContext) => NamedTask>; export type PresentationExports = { [PresentationExportNames.SelectContainerFormat]: SelectContainerFormatTaskType; }; export type PresentationContext = ContextUsing<[ StoreEffectFactory<'segmentDataCache', SegmentOutputCache>, StoreEffectFactory<'containerFormatMap', MapStateAtom> ], ContextHaving>; export declare const PresentationPackage: import("../../../framework-types/package-api/Package").Package; export default PresentationPackage;