pub struct VorbisDecoder {
pub ident: VorbisIdentHeader,
pub comments: Option<VorbisCommentHeader>,
pub codebooks: Vec<VorbisCodebook>,
pub floors: Vec<VorbisFloor1>,
pub residues: Vec<VorbisResidue>,
pub mdct_short: Option<MdctContext>,
pub mdct_long: Option<MdctContext>,
pub prev_samples: Vec<Vec<i32>>,
pub headers_parsed: bool,
pub output_buffer: Vec<i16>,
}Expand description
Vorbis decoder state
Fields§
§ident: VorbisIdentHeaderIdentification header info
comments: Option<VorbisCommentHeader>Comment header (metadata)
codebooks: Vec<VorbisCodebook>Codebooks
floors: Vec<VorbisFloor1>Floor configurations (one per mapping)
residues: Vec<VorbisResidue>Residue configurations
mdct_short: Option<MdctContext>MDCT contexts (one per blocksize)
mdct_long: Option<MdctContext>§prev_samples: Vec<Vec<i32>>Previous window samples for overlap-add
headers_parsed: boolWhether the decoder has been initialized with headers
output_buffer: Vec<i16>Output sample buffer (i16 PCM)
Implementations§
Source§impl VorbisDecoder
impl VorbisDecoder
Sourcepub fn parse_headers(&mut self, packets: &[Vec<u8>]) -> CodecResult<()>
pub fn parse_headers(&mut self, packets: &[Vec<u8>]) -> CodecResult<()>
Parse the three Vorbis header packets (identification, comment, setup)
Sourcepub fn decode_packet(&mut self, _packet: &[u8]) -> CodecResult<usize>
pub fn decode_packet(&mut self, _packet: &[u8]) -> CodecResult<usize>
Decode a single audio packet into PCM samples (interleaved channels).
Sourcepub fn sample_rate(&self) -> u32
pub fn sample_rate(&self) -> u32
Get the sample rate
Trait Implementations§
Source§impl Clone for VorbisDecoder
impl Clone for VorbisDecoder
Source§fn clone(&self) -> VorbisDecoder
fn clone(&self) -> VorbisDecoder
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for VorbisDecoder
impl Debug for VorbisDecoder
Auto Trait Implementations§
impl Freeze for VorbisDecoder
impl RefUnwindSafe for VorbisDecoder
impl Send for VorbisDecoder
impl Sync for VorbisDecoder
impl Unpin for VorbisDecoder
impl UnwindSafe for VorbisDecoder
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)