Expand description
The transcode job engine.
run_job takes an input buffer and an OutputSpec and drives the
whole pipeline: demux → shared decode pump (decode once) → fan out to per-
rung work → assemble the requested output mode. Progress is streamed
through a ProgressSink as a uniform RungProgress per rung.
- SingleFile mode: the decode pump fans frames to one per-rung worker that scales + encodes + muxes a self-contained MP4.
- Hls mode: the
crate::multigpuorchestrator decodes once and schedules every rung’s CMAF segments across all GPUs (fair lease pool + mid-flight helper dispatch + cross-vendor codec invariant), then this module assembles the HLS package (audio rendition + playlists).
Structs§
- JobOutput
- The full job result.
- Rung
Output - Result for one completed rung.
Enums§
- Rung
Artifact - The artifact one rung produced.
Functions§
- run_job
- Run a transcode job. Async — call from within a Tokio runtime.
- run_
job_ blocking - Synchronous wrapper that builds a multi-threaded Tokio runtime.