preResolveCaptions method
Reads and parses caption source into CaptionCues before the frame loop,
so cuesFor can serve them synchronously during it.
An SRT/VTT source is read through the byte loader and parsed by the
in-house parser; an inline source needs no IO (its words become cues
directly). Idempotent: an already-parsed source is skipped. A file that
cannot be read is a FluvieRenderException, and a malformed timecode is a
FluvieTimingError naming the line — both surface here, in the pre-pass,
so no frame ever reads or parses a caption file.
Implementation
@override
Future<void> preResolveCaptions(CaptionSource source) async {
throw FluvieRenderException(
'NoMediaResolver cannot resolve captions ("$source"). Wire a '
'MediaRepository through mediaResolverProvider to render captions, or keep '
'this resolver for caption-less compositions.',
);
}