Usage notes
Implement this adapter when your media surface owns decoding, rendering, or audio scheduling. useTimelineMediaSync calls these callbacks after it resolves active clips with ActiveLayerSelector records and ActiveLayerResult snapshots.
Signature
Interface TimelineMediaSyncAdapterType parameters
| Name | Constraint | Default | Description |
|---|---|---|---|
LayerName | string | string | Named media layer keys from your `layers` object, such
as `"visuals"` or `"audio"`. |
Properties
| Name | Signature | Description |
|---|---|---|
getClockTime | (): number | Returns current timeline seconds from the external media clock. |
onStatus? | (status: TimelineContentPlaybackStatus): void | Receives high-level playback status changes. |
resumeClock? | (playbackRate: number): MaybePromise<void> | Resumes browser-gated clocks, such as AudioContext, from a user gesture. |
seek? | (timelineTime: RationalTime, activeLayers: ActiveLayerResult<LayerName>): MaybePromise<void> | Refreshes external media after paused playhead or timeline edits. |
setClockRate? | (playbackRate: number): void | Updates the external clock rate before timeline playback rate changes. |
startClock | (timelineTime: RationalTime, playbackRate: number): MaybePromise<boolean> | Starts the external media clock at a timeline time and playback rate. |
stopClock? | (): void | Stops the external media clock if timeline playback cannot start. |
syncLayers? | (details: TimelineLayerSyncDetails<LayerName>): MaybePromise<void> | Synchronizes external rendering, audio, text, or effects for active layers during playback. |