Struct chd::codecs::RawFlacCodec

source ·
pub struct RawFlacCodec { /* private fields */ }
Available on codec_api only.
Expand description

Raw FLAC (flac) decompression codec.

§Format details

Raw FLAC expects the first byte as either ‘L’ (0x4C) or ‘B’ (0x42) to indicate the endianness of the output data, followed by the compressed FLAC data.

FLAC compressed audio data is assumed to be 2-channel 16-bit signed integer PCM. The audio data is decompressed in interleaved format, with the left channel first, then the right channel for each sample, for 32 bits each sample.

§Buffer Restrictions

Each compressed FLAC hunk decompresses to a hunk-sized chunk. The input buffer must contain enough samples to fill the hunk-sized output buffer.

Trait Implementations§

source§

impl CodecImplementation for RawFlacCodec

source§

fn new(hunk_bytes: u32) -> Result<Self>

Creates a new instance of this codec for the provided hunk size.
source§

fn decompress( &mut self, input: &[u8], output: &mut [u8] ) -> Result<DecompressResult>

Decompress compressed bytes from the input buffer into the output buffer. Read more
source§

impl CompressionCodecType for RawFlacCodec

source§

fn codec_type(&self) -> CodecType
where Self: Sized,

Returns the known CodecType that this codec implements.
source§

impl CompressionCodec for RawFlacCodec

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.