Skip to main content

ffmpeg_the_third/codec/encoder/
mod.rs

1pub mod encoder;
2pub use self::encoder::Encoder;
3
4pub mod video;
5pub use self::video::Encoder as Video;
6
7pub mod audio;
8pub use self::audio::Encoder as Audio;
9
10pub mod subtitle;
11pub use self::subtitle::Encoder as Subtitle;
12
13pub mod comparison;
14pub use self::comparison::Comparison;
15
16pub mod decision;
17pub use self::decision::Decision;
18
19use std::ffi::CString;
20
21use crate::codec::Context;
22use crate::codec::Id;
23use crate::ffi::*;
24use crate::Codec;
25
26pub fn new() -> Encoder {
27    Context::new().encoder()
28}
29
30pub fn find(id: Id) -> Option<Codec> {
31    unsafe {
32        let ptr = avcodec_find_encoder(id.into());
33        Codec::from_raw(ptr)
34    }
35}
36
37pub fn find_by_name(name: &str) -> Option<Codec> {
38    unsafe {
39        let name = CString::new(name).unwrap();
40        let ptr = avcodec_find_encoder_by_name(name.as_ptr());
41        Codec::from_raw(ptr)
42    }
43}