RenderService class final
Drives the deterministic capture pipeline: pre-resolve media, loop the frames (cache → pump → capture → append), then write the manifest last as the completion signal.
The frame loop is the only clock: every frame is explicitly pumped via the injected FramePump before its pixels are read, media is pre-resolved before the first frame, and frames whose render digest is already cached replay from disk without pumping at all.
Constructors
- RenderService({required FrameCaptureService capture, MediaResolver media = const NoMediaResolver(), FrameCache? cache, VideoEncoderService encoder = const VideoEncoderService()})
- Creates a render service over the injected seams.
Properties
- encoder → VideoEncoderService
-
Plans the encode arguments embedded in the manifest.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- media → MediaResolver
-
Resolves media before the frame loop and serves it synchronously during.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
captureToDirectory(
{required RenderConfig config, required Directory outDir, required FramePump pump, required GlobalKey< State< boundaryKey, required String compositionKey, Iterable<StatefulWidget> >MediaSource> mediaSources = const [], Iterable<AudioSource> audioSources = const [], AudioMixStager? stageAudio, Export? export, int? posterFrame, ProgressCallback? onProgress}) → Future<RenderManifest> -
Captures
config.frameCountframes intooutDir/frames.rgbaand writesoutDir/manifest.jsonlast, returning the parsed manifest. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
render(
{required RenderConfig config, required Directory outDir, required FramePump pump, required GlobalKey< State< boundaryKey, required String compositionKey, required FfmpegRunner runner, Iterable<StatefulWidget> >MediaSource> mediaSources = const [], Iterable<AudioSource> audioSources = const [], AudioMixStager? stageAudio, Export? export, int? posterFrame, ProgressCallback? onProgress}) → Future<File> -
captureToDirectory followed by an in-process encode through
runner, returning the encodedoutDir/out.mp4. -
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited