Skip to main content

ffmpeg_next/software/resampling/
engine.rs

1use crate::ffi::*;
2use crate::sys::SwrEngine::*;
3
4#[derive(Eq, PartialEq, Copy, Clone, Debug)]
5pub enum Engine {
6    Software,
7    SoundExchange,
8}
9
10impl From<SwrEngine> for Engine {
11    fn from(value: SwrEngine) -> Engine {
12        match value {
13            SWR_ENGINE_SWR => Engine::Software,
14            SWR_ENGINE_SOXR => Engine::SoundExchange,
15            SWR_ENGINE_NB => Engine::Software,
16
17            #[cfg(feature = "non-exhaustive-enums")]
18            _ => unimplemented!(),
19        }
20    }
21}
22
23impl From<Engine> for SwrEngine {
24    fn from(value: Engine) -> SwrEngine {
25        match value {
26            Engine::Software => SWR_ENGINE_SWR,
27            Engine::SoundExchange => SWR_ENGINE_SOXR,
28        }
29    }
30}