pub struct PacketDecoder { /* private fields */ }Expand description
Allocation-free decoder for AHX’s fixed-profile MPEG frame packets.
Supply consecutive frames from a single stream to preserve synthesis history.
This API does not parse an AHX header/footer or trim the final frame. Use
crate::SliceDecoder or the standard I/O decoder for complete AHX files.
All packet validation precedes synthesis. Errors preserve both output and
synthesis state, allowing a truncated input or small output buffer to be retried.
Implementations§
Source§impl PacketDecoder
impl PacketDecoder
Sourcepub fn decode_into<'a>(
&mut self,
input: &[u8],
pcm: &'a mut [i16],
) -> Result<DecodedPacket<'a>, Error>
pub fn decode_into<'a>( &mut self, input: &[u8], pcm: &'a mut [i16], ) -> Result<DecodedPacket<'a>, Error>
Decode the first complete frame in input into caller-owned PCM16.
Requires SAMPLES_PER_FRAME output elements. Extra output is unchanged.
Extra input is not consumed. Truncated means the first frame needs more
input; retain this prefix and retry with more bytes, up to crate::MAX_FRAME_BYTES.
Trait Implementations§
Source§impl Debug for PacketDecoder
impl Debug for PacketDecoder
Auto Trait Implementations§
impl Freeze for PacketDecoder
impl RefUnwindSafe for PacketDecoder
impl Send for PacketDecoder
impl Sync for PacketDecoder
impl Unpin for PacketDecoder
impl UnsafeUnpin for PacketDecoder
impl UnwindSafe for PacketDecoder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more