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::color_space::ColorSpace;
|
||||
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 error;
|
||||
pub mod rational;
|
||||
pub mod media;
|
||||
pub mod color_space;
|
||||
pub mod color_range;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user