/** * This file regroups TypeScript types and enums only needed when running the * RxPlayer in a * multithread situation. */ import type { IResolutionInfo, IManifestFetcherSettings, ISegmentFetcherCreatorBackoffOptions, IInbandEvent, IPausedPlaybackObservation, IRepresentationsChoice, ITrackSwitchingMode } from "./core/types"; import type { ISerializedMediaError, ISerializedNetworkError, ISerializedEncryptedMediaError, ISerializedOtherError } from "./errors"; import type { ISerializedSourceBufferError } from "./errors/source_buffer_error"; import type { IContentProtection, ITextDisplayerData } from "./main_thread/types"; import type { IManifestMetadata, IPeriodsUpdateResult } from "./manifest"; import type { ISourceBufferInterfaceAppendBufferParameters, SourceBufferType } from "./mse"; import type { IFreezingStatus, IRebufferingStatus } from "./playback_observer"; import type { ITrackType } from "./public_types"; import type { ITransportOptions } from "./transports"; import type { ILoggerLevel } from "./utils/logger"; import type { IRange } from "./utils/ranges"; /** * First message sent by the main thread to the WebWorker. * A WebWorker should only receive one `IInitMessage` at most and it should be * always the first message received. * * Allows for WebWorker initialization. */ export interface IInitMessage { type: MainThreadMessageType.Init; value: { /** Link to the DASH_WASM's feature WebAssembly file to parse DASH MPDs. */ dashWasmUrl: string | undefined; /** * If `true` the final element on the current page displaying the content * can display video content. * * If `false`, it cannot, but it can be assumed to be able to play audio * content. * An example where it would be set to `false` is for `HTMLAudioElement` * elements (`