1use serde::{Deserialize, Serialize};
2
3mod trait_impls;
4
5#[derive(Debug, PartialEq, PartialOrd, Ord, Eq, Copy, Clone, Serialize, Deserialize)]
7pub enum Codec {
8 Flac,
9 Mp3,
10 LibOpus,
11 LibVorbis,
12 Pcms16le,
13 Pcms24le,
14 Pcms32le,
15 Pcmf32le,
16}
17
18impl Codec {
19 #[must_use]
20 pub fn codec_name(&self) -> &str {
21 match self {
22 Codec::Flac => "flac",
23 Codec::Mp3 => "mp3",
24 Codec::LibOpus => "libopus",
25 Codec::LibVorbis => "libvorbis",
26 Codec::Pcms16le => "pcm_s16le",
27 Codec::Pcms24le => "pcm_s24le",
28 Codec::Pcms32le => "pcm_s32le",
29 Codec::Pcmf32le => "pcm_f32le",
30 }
31 }
32}