preResolveAll method

  1. @override
Future<void> preResolveAll(
  1. Iterable<MediaSource> sources
)
override

Resolves every source in sources (download, read, decode) so that resolvedFor and decodedImageFor can answer synchronously during the frame loop.

Runs before the first frame and is idempotent: resolving the same source twice does the work once. Throws a FluvieRenderException when a source cannot be resolved.

Implementation

@override
Future<void> preResolveAll(Iterable<MediaSource> sources) async {
  if (sources.isNotEmpty) {
    throw FluvieRenderException(
      'NoMediaResolver cannot resolve media (got ${sources.length} source(s), '
      'first: "${sources.first}"). Wire a MediaRepository through '
      'mediaResolverProvider to render media, or keep this resolver for '
      'media-less compositions.',
    );
  }
}