#[non_exhaustive]pub struct DecodedAac {
pub sample_rate: u32,
pub channels: Vec<Vec<f32>>,
pub core_rate: u32,
pub layout: Layout,
pub priming: Option<u64>,
pub remainder: Option<u64>,
}Expand description
Decoded AAC at native sample rate (planar f32, mono-mixed or split).
Split channel order: mono/stereo as-is; multichannel AAC-LC
(channel_configuration 3–7) follows the libavcodec layout order
(5.1 = FL FR FC LFE BL BR, 7.1 adds SL SR); PCE streams follow PCE declaration order
(front, side, back, LFE). Speech mono is the mean of the non-LFE planes.
PCM is presentation-valid: M4A honours elst. A one-shot ADTS decode
honours a leading iTunSMPB tag when its counts match the decoded
length. Channel labels and decode-side priming/remainder are TASK-61;
#[non_exhaustive] leaves room.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.sample_rate: u32§channels: Vec<Vec<f32>>§core_rate: u32Core AAC rate (before SBR). Same as Self::sample_rate for LC.
layout: LayoutChannel layout of Self::channels.
priming: Option<u64>Encoder delay skipped at the start, when the container says so.
remainder: Option<u64>Unplayed coded tail, when the container says so.