codec/compliance: add enum
This commit is contained in:
parent
706f64c133
commit
2c3b0e2936
37
src/codec/compliance.rs
Normal file
37
src/codec/compliance.rs
Normal file
@ -0,0 +1,37 @@
|
||||
use libc::c_int;
|
||||
use ffi::*;
|
||||
|
||||
#[derive(Eq, PartialEq, Clone, Copy, Debug)]
|
||||
pub enum Compliance {
|
||||
VeryStrict,
|
||||
Strict,
|
||||
Normal,
|
||||
Unofficial,
|
||||
Experimental,
|
||||
}
|
||||
|
||||
impl From<c_int> for Compliance {
|
||||
fn from(value: c_int) -> Self {
|
||||
match value {
|
||||
FF_COMPLIANCE_VERY_STRICT => Compliance::VeryStrict,
|
||||
FF_COMPLIANCE_STRICT => Compliance::Strict,
|
||||
FF_COMPLIANCE_NORMAL => Compliance::Normal,
|
||||
FF_COMPLIANCE_UNOFFICIAL => Compliance::Unofficial,
|
||||
FF_COMPLIANCE_EXPERIMENTAL => Compliance::Experimental,
|
||||
|
||||
_ => Compliance::Normal
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Into<c_int> for Compliance {
|
||||
fn into(self) -> c_int {
|
||||
match self {
|
||||
Compliance::VeryStrict => FF_COMPLIANCE_VERY_STRICT,
|
||||
Compliance::Strict => FF_COMPLIANCE_STRICT,
|
||||
Compliance::Normal => FF_COMPLIANCE_NORMAL,
|
||||
Compliance::Unofficial => FF_COMPLIANCE_UNOFFICIAL,
|
||||
Compliance::Experimental => FF_COMPLIANCE_EXPERIMENTAL
|
||||
}
|
||||
}
|
||||
}
|
@ -17,6 +17,9 @@ pub mod codec;
|
||||
pub mod field_order;
|
||||
pub mod audio_service;
|
||||
|
||||
pub mod compliance;
|
||||
pub use self::compliance::Compliance;
|
||||
|
||||
pub mod encoder;
|
||||
pub mod decoder;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user