pub struct AudioConcatenator { /* private fields */ }Expand description
Concatenates multiple audio clips into a single seamless output stream.
Each clip is loaded via an amovie= source node. When
output_format is set, an aresample and/or
aformat filter is inserted per clip to normalise the sample rate and
channel layout before concatenation. A single clip skips the concat
filter entirely.
§Examples
ⓘ
use ff_filter::AudioConcatenator;
use ff_format::ChannelLayout;
let mut graph = AudioConcatenator::new(vec!["clip_a.mp3", "clip_b.mp3"])
.output_format(48_000, ChannelLayout::Stereo)
.build()?;
while let Some(frame) = graph.pull_audio()? {
// encode or play `frame`
}Implementations§
Source§impl AudioConcatenator
impl AudioConcatenator
Sourcepub fn new(clips: Vec<impl AsRef<Path>>) -> Self
pub fn new(clips: Vec<impl AsRef<Path>>) -> Self
Creates a new concatenator for the given clip paths.
Sourcepub fn output_format(self, sample_rate: u32, layout: ChannelLayout) -> Self
pub fn output_format(self, sample_rate: u32, layout: ChannelLayout) -> Self
Sets the output sample rate and channel layout.
When set, an aresample filter is inserted for each clip whose sample
rate differs from sample_rate, and an aformat filter is inserted for
each clip whose channel layout differs from layout.
Sourcepub fn build(self) -> Result<FilterGraph, FilterError>
pub fn build(self) -> Result<FilterGraph, FilterError>
Builds a source-only FilterGraph that concatenates all clips.
§Errors
FilterError::CompositionFailed— no clips were provided, or an underlyingFFmpeggraph-construction call failed.
Auto Trait Implementations§
impl Freeze for AudioConcatenator
impl RefUnwindSafe for AudioConcatenator
impl Send for AudioConcatenator
impl Sync for AudioConcatenator
impl Unpin for AudioConcatenator
impl UnsafeUnpin for AudioConcatenator
impl UnwindSafe for AudioConcatenator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more