selene-core 0.3.1

selene-core is the backend for Selene, a local-first music player
Documentation
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())),
        }
    }
}