OptiView Ads SDK
    Preparing search index...

    Interface ShakaPlayerLike

    Minimum surface of shaka.Player that ShakaAdapter depends on. A real shaka.Player from shaka-player satisfies this interface.

    interface ShakaPlayerLike {
        addEventListener?(
            type: string,
            listener: (
                event: ShakaMetadataEvent & ShakaEmsgEvent & ShakaErrorEvent,
            ) => void,
        ): void;
        attach(
            mediaElement: HTMLVideoElement,
            initializeMediaSource?: boolean,
        ): Promise<void>;
        configure?(name: string, value?: unknown): boolean;
        destroy(): Promise<void>;
        detach?(): Promise<void>;
        getAssetUri?(): string | null;
        getConfiguration?(): {
            abr?: { enabled?: boolean };
            streaming?: {
                liveSync?: {
                    enabled?: boolean;
                    targetLatency?: number;
                    targetLatencyTolerance?: number;
                };
                safeSeekEndOffset?: number;
            };
        };
        getManifest(): ShakaManifestLike | null;
        getMediaElement?(): HTMLMediaElement | null;
        getVariantTracks?(): ShakaVariantTrackLike[];
        isLive?(): boolean;
        load(url: string): Promise<void>;
        removeEventListener?(
            type: string,
            listener: (
                event: ShakaMetadataEvent & ShakaEmsgEvent & ShakaErrorEvent,
            ) => void,
        ): void;
        seekRange?(): { end: number; start: number };
        selectVariantTrack?(
            track: ShakaVariantTrackLike,
            clearBuffer?: boolean,
            safeMargin?: number,
        ): void;
    }
    Index
    • Subscribe to player events. The adapter uses metadataadded + metadata for in-stream ID3 and emsg for DASH event boxes. Optional.

      Parameters

      • type: string
      • listener: (event: ShakaMetadataEvent & ShakaEmsgEvent & ShakaErrorEvent) => void

      Returns void

    • Attach the player to a <video> element; the adapter calls this from load() when needed.

      Parameters

      • mediaElement: HTMLVideoElement
      • OptionalinitializeMediaSource: boolean

      Returns Promise<void>

    • Set one configuration key by dotted path. Optional; used to suspend ABR around a quality pin. Shaka documents an explicit undefined value as restoring the default.

      Parameters

      • name: string
      • Optionalvalue: unknown

      Returns boolean

    • Release the player.

      Returns Promise<void>

    • Stop streaming and release the media element. Optional: older builds may not expose it.

      Returns Promise<void>

    • The URI Shaka is playing. Optional: older builds may not expose it.

      Returns string | null

    • Live config lives under streaming; read defensively, shapes vary by version.

      Returns {
          abr?: { enabled?: boolean };
          streaming?: {
              liveSync?: {
                  enabled?: boolean;
                  targetLatency?: number;
                  targetLatencyTolerance?: number;
              };
              safeSeekEndOffset?: number;
          };
      }

      • Optionalabr?: { enabled?: boolean }

        Whether adaptive selection is on — snapshotted so a quality pin can be undone exactly.

        • Optionalenabled?: boolean

          Whether ABR is enabled.

      • Optionalstreaming?: {
            liveSync?: {
                enabled?: boolean;
                targetLatency?: number;
                targetLatencyTolerance?: number;
            };
            safeSeekEndOffset?: number;
        }

        The streaming section of the Shaka configuration.

        • OptionalliveSync?: { enabled?: boolean; targetLatency?: number; targetLatencyTolerance?: number }

          Shaka's live-latency controller settings.

          • Optionalenabled?: boolean

            Whether Shaka adjusts playback rate to hold the target latency.

          • OptionaltargetLatency?: number

            The latency it holds, in seconds.

          • OptionaltargetLatencyTolerance?: number

            How far latency may drift before Shaka corrects it, in seconds.

        • OptionalsafeSeekEndOffset?: number

          How far from the live edge Shaka keeps seeks, in seconds.

    • The parsed manifest (shaka.extern.Manifest), or null before content loads.

      Returns ShakaManifestLike | null

    • The element the player is currently attached to, where the build exposes it.

      Returns HTMLMediaElement | null

    • The selectable variants. Optional; absent before content loads.

      Returns ShakaVariantTrackLike[]

    • True for a dynamic/live presentation. Optional: guarded at every call site.

      Returns boolean

    • Load a stream URL.

      Parameters

      • url: string

      Returns Promise<void>

    • Remove a listener added with addEventListener. Optional.

      Parameters

      • type: string
      • listener: (event: ShakaMetadataEvent & ShakaEmsgEvent & ShakaErrorEvent) => void

      Returns void

    • The seekable window Shaka will honour, in seconds. Optional.

      Returns { end: number; start: number }

      • end: number

        End of the window, in seconds.

      • start: number

        Start of the window, in seconds.

    • Select one variant. Optional.

      clearBuffer is deliberately never passed by this adapter: Shaka documents the default as taking effect once buffered content has played, which is the non-interrupting switch the caller requires.

      Parameters

      • track: ShakaVariantTrackLike
      • OptionalclearBuffer: boolean
      • OptionalsafeMargin: number

      Returns void