Skip to main content

ffmpeg_the_third/software/resampling/
engine.rs

1use crate::ffi::*;
2#[cfg(feature = "serialize")]
3use serde::{Deserialize, Serialize};
4
5#[derive(Eq, PartialEq, Copy, Clone, Debug)]
6#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))]
7pub enum Engine {
8    Software,
9    SoundExchange,
10}
11
12impl From<SwrEngine> for Engine {
13    fn from(value: SwrEngine) -> Engine {
14        use SwrEngine as AV;
15
16        match value {
17            AV::SWR => Engine::Software,
18            AV::SOXR => Engine::SoundExchange,
19
20            AV::NB => unreachable!(),
21
22            _ => unimplemented!(),
23        }
24    }
25}
26
27impl From<Engine> for SwrEngine {
28    fn from(value: Engine) -> SwrEngine {
29        use SwrEngine as AV;
30
31        match value {
32            Engine::Software => AV::SWR,
33            Engine::SoundExchange => AV::SOXR,
34        }
35    }
36}