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)
9fn filter(
10 spec: &str,
11 decoder: &codec::decoder::Audio,
12 encoder: &codec::encoder::Audio,
13) -> Result<filter::Graph, ffmpeg::Error> {
14 let mut filter = filter::Graph::new();
15
16 let args = format!(
17 "time_base={}:sample_rate={}:sample_fmt={}:channel_layout=0x{:x}",
18 decoder.time_base(),
19 decoder.rate(),
20 decoder.format().name(),
21 decoder.channel_layout().bits()
22 );
23
24 filter.add(&filter::find("abuffer").unwrap(), "in", &args)?;
25 filter.add(&filter::find("abuffersink").unwrap(), "out", "")?;
26
27 {
28 let mut out = filter.get("out").unwrap();
29
30 out.set_sample_format(encoder.format());
31 out.set_channel_layout(encoder.channel_layout());
32 out.set_sample_rate(encoder.rate());
33 }
34
35 filter.output("in", 0)?.input("out", 0)?.parse(spec)?;
36 filter.validate()?;
37
38 println!("{}", filter.dump());
39
40 if let Some(codec) = encoder.codec() {
41 if !codec
42 .capabilities()
43 .contains(ffmpeg::codec::capabilities::Capabilities::VARIABLE_FRAME_SIZE)
44 {
45 filter
46 .get("out")
47 .unwrap()
48 .sink()
49 .set_frame_size(encoder.frame_size());
50 }
51 }
52
53 Ok(filter)
54}
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.
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