Add a cuepoints capability for media stacks that can support it (timeline markers, ad or chapter-style events, or other time-based hooks), exposed as an optional add-on rather than baking it into every delegate. Implementation can use a class mixin pattern consistent with existing DOM media mixins (for example HlsJsMediaMetadataTracksMixin in @videojs/core).
Today the store already surfaces chaptersCues and metadata thumbnail cues from native text tracks (text-track feature), and hls.js delegates preserve metadata/chapters tracks via a mixin. A cuepoints add-on should clarify how programmatic or manifest-derived cuepoints integrate with that model—whether as a dedicated metadata track, synthetic cues, or a small state slice—and which components (HTML custom elements, React wrappers, SPF) opt in.
Context
Add a cuepoints capability for media stacks that can support it (timeline markers, ad or chapter-style events, or other time-based hooks), exposed as an optional add-on rather than baking it into every delegate. Implementation can use a class mixin pattern consistent with existing DOM media mixins (for example
HlsJsMediaMetadataTracksMixinin@videojs/core).Today the store already surfaces
chaptersCuesand metadata thumbnail cues from native text tracks (text-trackfeature), and hls.js delegates preserve metadata/chapters tracks via a mixin. A cuepoints add-on should clarify how programmatic or manifest-derived cuepoints integrate with that model—whether as a dedicated metadata track, synthetic cues, or a small state slice—and which components (HTML custom elements, React wrappers, SPF) opt in.Context
cuechangeas the standard hook for time-based actions.useActiveTextCues— cue lifecycle and active-cue subscription patterns in a modern player.TextTrack/cuechange— browser baseline for hidden metadata tracks and cue events.