rememberFilmstripPlayer

fun rememberFilmstripPlayer(previews: PreviewFactory, composition: EditComposition, config: PlayerConfig = PlayerConfig()): VideoPlayer(source)

Remembers a player over composition and closes it when this leaves composition.

The player is built once per previews, with the composition and config it was first given. Every later composition is loaded a frame after the composition that changed it, which is what leaves a PlaybackEventEffect beside this one already collecting when the load starts emitting. An equal composition costs nothing and a parameter-only edit does not rebuild the pipeline, so ordinary editing needs no debounce here. A later config goes to the same player through its setters, so the transport and the playhead stay.

remember survives recomposition but not a configuration change. Hoist the player into something that outlives the screen for anything longer-lived than a throwaway preview.

Return

The remembered player, the same instance across recompositions.

Parameters

previews

What opens the player, usually the Filmstrip itself.

composition

The edit to play.

config

How the player should behave.