Skip to main content

selene_core/media_container/
sample_format.rs

1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, PartialEq, PartialOrd, Clone, Serialize, Deserialize, Copy)]
4pub enum SampleFormat {
5    U8,
6    U16,
7    U24,
8    U32,
9    S8,
10    S16,
11    S24,
12    S32,
13    F32,
14    F64,
15}
16
17impl From<symphonia::core::sample::SampleFormat> for SampleFormat {
18    fn from(value: symphonia::core::sample::SampleFormat) -> Self {
19        match value {
20            symphonia::core::sample::SampleFormat::U8 => Self::U8,
21            symphonia::core::sample::SampleFormat::U16 => Self::U16,
22            symphonia::core::sample::SampleFormat::U24 => Self::U24,
23            symphonia::core::sample::SampleFormat::U32 => Self::U32,
24            symphonia::core::sample::SampleFormat::S8 => Self::S8,
25            symphonia::core::sample::SampleFormat::S16 => Self::S16,
26            symphonia::core::sample::SampleFormat::S24 => Self::S24,
27            symphonia::core::sample::SampleFormat::S32 => Self::S32,
28            symphonia::core::sample::SampleFormat::F32 => Self::F32,
29            symphonia::core::sample::SampleFormat::F64 => Self::F64,
30        }
31    }
32}