Interface

TimelineMediaSyncAdapter

Framework-neutral contract implemented by an external media clock and renderer.

Usage notes

Adapters own decoding, rendering, and clock control while timeline hooks own active-layer selection and transport policy through ActiveLayerResult snapshots. The contract lives in core so imperative adapters do not depend on React.

Signature

Type Definition
Interface TimelineMediaSyncAdapter

Type parameters

NameConstraintDefaultDescription
LayerNamestringstringNamed media layer keys received in active-layer snapshots.

Properties

NameSignatureDescription
getClockTime(): numberRead the external clock in timeline seconds.
onStatus?(status: TimelineContentPlaybackStatus): voidObserve high-level synchronized playback status changes.
requestClockActivation?(playbackRate: number): voidBegin browser-gated clock or audio activation without blocking visual transport.
seek?(timelineTime: RationalTime, activeLayers: ActiveLayerResult<LayerName>): MaybePromise<void>Seek the external surface to a timeline position and its active clips.
setClockRate?(playbackRate: number): voidApply a playback-rate change to the running external clock.
startClock(timelineTime: RationalTime, playbackRate: number): MaybePromise<boolean>Start the external clock at a timeline position and playback-rate multiplier.
stopClock?(): voidStop the external clock without disposing its loaded media.
syncLayers?(details: TimelineLayerSyncDetails<LayerName>): MaybePromise<void>Render or schedule the active media layers for a transport transition.