pub enum Sample {
    None,
    U8(Type),
    I16(Type),
    I32(Type),
    I64(Type),
    F32(Type),
    F64(Type),
}Variants§
Implementations§
source§impl Sample
 
impl Sample
sourcepub fn name(&self) -> &'static str
 
pub fn name(&self) -> &'static str
Examples found in repository?
examples/transcode-audio.rs (line 20)
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
fn filter(
    spec: &str,
    decoder: &codec::decoder::Audio,
    encoder: &codec::encoder::Audio,
) -> Result<filter::Graph, ffmpeg::Error> {
    let mut filter = filter::Graph::new();
    let args = format!(
        "time_base={}:sample_rate={}:sample_fmt={}:channel_layout=0x{:x}",
        decoder.time_base(),
        decoder.rate(),
        decoder.format().name(),
        decoder.channel_layout().bits()
    );
    filter.add(&filter::find("abuffer").unwrap(), "in", &args)?;
    filter.add(&filter::find("abuffersink").unwrap(), "out", "")?;
    {
        let mut out = filter.get("out").unwrap();
        out.set_sample_format(encoder.format());
        out.set_channel_layout(encoder.channel_layout());
        out.set_sample_rate(encoder.rate());
    }
    filter.output("in", 0)?.input("out", 0)?.parse(spec)?;
    filter.validate()?;
    println!("{}", filter.dump());
    if let Some(codec) = encoder.codec() {
        if !codec
            .capabilities()
            .contains(ffmpeg::codec::capabilities::Capabilities::VARIABLE_FRAME_SIZE)
        {
            filter
                .get("out")
                .unwrap()
                .sink()
                .set_frame_size(encoder.frame_size());
        }
    }
    Ok(filter)
}pub fn packed(&self) -> Self
pub fn planar(&self) -> Self
pub fn is_planar(&self) -> bool
pub fn is_packed(&self) -> bool
pub fn bytes(&self) -> usize
pub fn buffer(&self, channels: u16, samples: usize, align: bool) -> Buffer
Trait Implementations§
source§impl From<AVSampleFormat> for Sample
 
impl From<AVSampleFormat> for Sample
source§fn from(value: AVSampleFormat) -> Self
 
fn from(value: AVSampleFormat) -> Self
Converts to this type from the input type.
source§impl From<Sample> for AVSampleFormat
 
impl From<Sample> for AVSampleFormat
source§fn from(value: Sample) -> AVSampleFormat
 
fn from(value: Sample) -> AVSampleFormat
Converts to this type from the input type.
source§impl PartialEq for Sample
 
impl PartialEq for Sample
impl Copy for Sample
impl Eq for Sample
impl StructuralPartialEq for Sample
Auto Trait Implementations§
impl Freeze for Sample
impl RefUnwindSafe for Sample
impl Send for Sample
impl Sync for Sample
impl Unpin for Sample
impl UnwindSafe for Sample
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