playa_ffmpeg/util/
media.rs1use crate::ffi::{AVMediaType::*, *};
2
3#[derive(Eq, PartialEq, Clone, Copy, Debug)]
4pub enum Type {
5 Unknown,
6 Video,
7 Audio,
8 Data,
9 Subtitle,
10 Attachment,
11}
12
13impl From<AVMediaType> for Type {
14 #[inline(always)]
15 fn from(value: AVMediaType) -> Self {
16 match value {
17 AVMEDIA_TYPE_UNKNOWN => Type::Unknown,
18 AVMEDIA_TYPE_VIDEO => Type::Video,
19 AVMEDIA_TYPE_AUDIO => Type::Audio,
20 AVMEDIA_TYPE_DATA => Type::Data,
21 AVMEDIA_TYPE_SUBTITLE => Type::Subtitle,
22 AVMEDIA_TYPE_ATTACHMENT => Type::Attachment,
23 AVMEDIA_TYPE_NB => Type::Unknown,
24 }
25 }
26}
27
28impl From<Type> for AVMediaType {
29 #[inline(always)]
30 fn from(value: Type) -> AVMediaType {
31 match value {
32 Type::Unknown => AVMEDIA_TYPE_UNKNOWN,
33 Type::Video => AVMEDIA_TYPE_VIDEO,
34 Type::Audio => AVMEDIA_TYPE_AUDIO,
35 Type::Data => AVMEDIA_TYPE_DATA,
36 Type::Subtitle => AVMEDIA_TYPE_SUBTITLE,
37 Type::Attachment => AVMEDIA_TYPE_ATTACHMENT,
38 }
39 }
40}