11#include <promeki/config.h>
12#if PROMEKI_ENABLE_PROAV
20PROMEKI_NAMESPACE_BEGIN
52struct AacDecoderConfig {
54 uint8_t audioObjectType = 2;
57 uint8_t samplingFrequencyIndex = 0;
61 uint32_t samplingFrequency = 0;
64 uint8_t channelConfiguration = 0;
73 uint8_t extensionSamplingFrequencyIndex = 0;
76 uint32_t extensionSamplingFrequency = 0;
92 static Error parse(
const BufferView &payload, AacDecoderConfig &out);
103 Error serialize(Buffer &out)
const;
106 static AacDecoderConfig fromAudioDesc(
const AudioDesc &desc);
109 AudioDesc toAudioDesc()
const;
114 static uint32_t indexToFrequency(uint8_t index);
118 static uint8_t frequencyToIndex(uint32_t hz);
150 static Error strip(
const BufferView &in, Buffer &outRaw, AacDecoderConfig &outCfg);
153 static bool isAdts(
const BufferView &in);