From 5fff2ab123bd3d177bb7eec62397a01a34f063aa Mon Sep 17 00:00:00 2001 From: lummax Date: Fri, 28 Aug 2015 20:37:36 +0200 Subject: [PATCH] examples/codec-info: add example --- examples/codec-info.rs | 52 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 examples/codec-info.rs diff --git a/examples/codec-info.rs b/examples/codec-info.rs new file mode 100644 index 0000000..51826fe --- /dev/null +++ b/examples/codec-info.rs @@ -0,0 +1,52 @@ +extern crate ffmpeg; + +use std::env; + +fn main() { + ffmpeg::init().unwrap(); + + for arg in env::args().skip(1) { + if let Some(codec) = ffmpeg::decoder::find_by_name(&arg) { + println!("type: decoder"); + println!("\t id: {:?}", codec.id()); + println!("\t name: {}", codec.name()); + println!("\t description: {}", codec.description()); + println!("\t medium: {:?}", codec.medium()); + + if let Ok(video) = codec.video() { + println!("\t rates: {:?}", video.rates().collect::>()); + println!("\t formats: {:?}", video.formats().collect::>()); + } + + if let Ok(audio) = codec.audio() { + println!("\t samplerates: {:?}", audio.rates().collect::>()); + println!("\t sample_formats: {:?}", audio.formats().collect::>()); + println!("\t channel_layouts: {:?}", audio.channel_layouts().collect::>()); + } + + println!("\t max_lowres: {:?}", codec.max_lowres()); + } + + if let Some(codec) = ffmpeg::encoder::find_by_name(&arg) { + println!(""); + println!("type: encoder"); + println!("\t id: {:?}", codec.id()); + println!("\t name: {}", codec.name()); + println!("\t description: {}", codec.description()); + println!("\t medium: {:?}", codec.medium()); + + if let Ok(video) = codec.video() { + println!("\t rates: {:?}", video.rates().collect::>()); + println!("\t formats: {:?}", video.formats().collect::>()); + } + + if let Ok(audio) = codec.audio() { + println!("\t samplerates: {:?}", audio.rates().collect::>()); + println!("\t sample_formats: {:?}", audio.formats().collect::>()); + println!("\t channel_layouts: {:?}", audio.channel_layouts().collect::>()); + } + + println!("\t max_lowres: {:?}", codec.max_lowres()); + } + } +}