use std::str::FromStr;
use crate::{codec::Codec, errors::CodecError};
impl FromStr for Codec {
type Err = CodecError;
fn from_str(s: &str) -> Result<Self, Self::Err> {
match s {
"flac" => Ok(Codec::Flac),
"mp3" => Ok(Codec::Mp3),
"opus" => Ok(Codec::LibOpus),
"vorbis" => Ok(Codec::LibVorbis),
"pcm_s16le" => Ok(Codec::Pcms16le),
"pcm_s24le" => Ok(Codec::Pcms24le),
"pcm_s32le" => Ok(Codec::Pcms32le),
"pcm_f32le" => Ok(Codec::Pcmf32le),
_ => Err(CodecError::Unknown(s.to_owned())),
}
}
}