preResolveCaptions method

  1. @override
Future<void> preResolveCaptions(
  1. CaptionSource source
)
override

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.',
  );
}