util/media: add media::Type
This commit is contained in:
parent
8d828575df
commit
7cd4a3d531
@ -11,3 +11,4 @@ pub use util::dictionary::Dictionary;
|
|||||||
pub use util::rational::Rational;
|
pub use util::rational::Rational;
|
||||||
pub use util::color_space::ColorSpace;
|
pub use util::color_space::ColorSpace;
|
||||||
pub use util::color_range::ColorRange;
|
pub use util::color_range::ColorRange;
|
||||||
|
pub use util::media;
|
||||||
|
38
src/util/media.rs
Normal file
38
src/util/media.rs
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
use ffi::*;
|
||||||
|
|
||||||
|
#[derive(Eq, PartialEq, Clone, Copy, Debug)]
|
||||||
|
pub enum Type {
|
||||||
|
Unknown,
|
||||||
|
Video,
|
||||||
|
Audio,
|
||||||
|
Data,
|
||||||
|
Subtitle,
|
||||||
|
Attachment,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<AVMediaType> for Type {
|
||||||
|
fn from(value: AVMediaType) -> Self {
|
||||||
|
match value {
|
||||||
|
AVMEDIA_TYPE_UNKNOWN => Type::Unknown,
|
||||||
|
AVMEDIA_TYPE_VIDEO => Type::Video,
|
||||||
|
AVMEDIA_TYPE_AUDIO => Type::Audio,
|
||||||
|
AVMEDIA_TYPE_DATA => Type::Data,
|
||||||
|
AVMEDIA_TYPE_SUBTITLE => Type::Subtitle,
|
||||||
|
AVMEDIA_TYPE_ATTACHMENT => Type::Attachment,
|
||||||
|
AVMEDIA_TYPE_NB => Type::Unknown,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Into<AVMediaType> for Type {
|
||||||
|
fn into(self) -> AVMediaType {
|
||||||
|
match self {
|
||||||
|
Type::Unknown => AVMEDIA_TYPE_UNKNOWN,
|
||||||
|
Type::Video => AVMEDIA_TYPE_VIDEO,
|
||||||
|
Type::Audio => AVMEDIA_TYPE_AUDIO,
|
||||||
|
Type::Data => AVMEDIA_TYPE_DATA,
|
||||||
|
Type::Subtitle => AVMEDIA_TYPE_SUBTITLE,
|
||||||
|
Type::Attachment => AVMEDIA_TYPE_ATTACHMENT,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -1,6 +1,7 @@
|
|||||||
pub mod dictionary;
|
pub mod dictionary;
|
||||||
pub mod error;
|
pub mod error;
|
||||||
pub mod rational;
|
pub mod rational;
|
||||||
|
pub mod media;
|
||||||
pub mod color_space;
|
pub mod color_space;
|
||||||
pub mod color_range;
|
pub mod color_range;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user