Optionalconfig: Partial<SidecarVideoTrackControllerConfig>Whether sidecar is active. Only active sidecar is shown, inactive sidecar only warms up.
Sidecar duration in seconds, available once loaded.
Emits whether sidecar should be shown, see shown.
Whether sidecar element has its source attached, see SidecarVideoResidency.
Whether sidecar should be shown, sidecar is active and main media time is inside its time window.
Resolved time window, available once loaded.
Whether sidecar is warming up hidden, ahead of its time window, or inside it while inactive.
Awake priority is distance in seconds of main media time from sidecar warm-up and time window, active sidecar inside its time window comes first. Warm-up is on the side main media enters time window from, see SidecarTimeWindow.warmUpIn.
Called when slot became free, waiting candidate may try to acquire it again.
Activates or deactivates sidecar, sidecar is re-synced with main media.
Updates track state, time window is re-resolved and sidecar is re-synced with main media.
Called when candidate lost its awake slot to more important one, candidate releases its source and waits for a free slot.
Plays sidecar video in its own SidecarVideoDomController, synced with main media, see BaseSidecarTrackController.
Sidecar:
Sidecar video drifting from main media is corrected by adjusting its playback rate, or by seeking when drift is too large.
Video element can't play backwards nor faster than SEEK_STEP_PLAYBACK_DEFAULTS.maxNativePlaybackRate. At such main media playback rates sidecar is paused and seeked to sidecar time at main media time in steps, see SeekStepper. Main media doesn't wait for these seeks.