pub struct AudioPassthroughTranscoderFactory { /* private fields */ }Expand description
Factory that builds one AudioPassthroughTranscoder per source
audio track, republishing fragments onto <source>/<rendition>/1.mp4.
Ships without the transcode feature on purpose: the factory carries
no GStreamer dependency, so operators without the ladder build still
get audio passthrough when the CLI wiring installs it alongside the
software video encoder.
Implementations§
Source§impl AudioPassthroughTranscoderFactory
impl AudioPassthroughTranscoderFactory
Sourcepub fn new(
rendition: RenditionSpec,
output_registry: FragmentBroadcasterRegistry,
) -> Self
pub fn new( rendition: RenditionSpec, output_registry: FragmentBroadcasterRegistry, ) -> Self
Build a factory for rendition that republishes source audio
fragments into output_registry under <source>/<rendition>/1.mp4.
Sourcepub fn skip_source_suffixes(
self,
suffixes: impl IntoIterator<Item = impl Into<String>>,
) -> Self
pub fn skip_source_suffixes( self, suffixes: impl IntoIterator<Item = impl Into<String>>, ) -> Self
Register additional trailing-component suffixes that the factory
should treat as already-transcoded outputs and skip. Appends to the
built-in \d+p heuristic; the default recursion guard (an all-
digits + trailing p suffix like 720p) stays in effect.
Operators running custom rendition names (ultra, low-motion,
etc.) pass them here so the factory does not rebuild transcoders
on its own outputs.
Trait Implementations§
Source§impl TranscoderFactory for AudioPassthroughTranscoderFactory
impl TranscoderFactory for AudioPassthroughTranscoderFactory
Source§fn name(&self) -> &str
fn name(&self) -> &str
"passthrough", "x264", "nvenc"). Pick something
short, lowercase, snake_case.Source§fn rendition(&self) -> &RenditionSpec
fn rendition(&self) -> &RenditionSpec
crate::TranscodeRunner when building the
TranscoderContext.Source§fn build(&self, ctx: &TranscoderContext) -> Option<Box<dyn Transcoder>>
fn build(&self, ctx: &TranscoderContext) -> Option<Box<dyn Transcoder>>
ctx, or return None to
skip this (broadcast, track) entirely. Returning None
is the correct path when the factory wants to opt out –
e.g. a video transcoder returning None for an audio
track, or a factory targeting only source broadcasts (not
already-transcoded renditions).