mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-08 12:37:01 +03:00
38 lines
1.0 KiB
C++
38 lines
1.0 KiB
C++
// Copyright (c) Kuba Szczodrzyński 2022-1-12.
|
|
|
|
#include "ALACDecoder.h"
|
|
|
|
ALACDecoder::ALACDecoder() {
|
|
// aac = AACInitDecoder();
|
|
// pcmData = (int16_t *)malloc(AAC_MAX_NSAMPS * AAC_MAX_NCHANS * sizeof(int16_t));
|
|
}
|
|
|
|
ALACDecoder::~ALACDecoder() {
|
|
// AACFreeDecoder(aac);
|
|
// free(pcmData);
|
|
}
|
|
|
|
bool ALACDecoder::setup(uint32_t sampleRate, uint8_t channelCount, uint8_t bitDepth) {
|
|
// frame.sampRateCore = (int)sampleRate;
|
|
// frame.nChans = channelCount;
|
|
// frame.bitsPerSample = bitDepth;
|
|
// return AACSetRawBlockParams(aac, 0, &frame) == 0;
|
|
}
|
|
|
|
uint8_t *ALACDecoder::decode(uint8_t *inData, uint32_t inLen, uint32_t &outLen) {
|
|
// if (!inData)
|
|
// return nullptr;
|
|
// int status = AACDecode(
|
|
// aac,
|
|
// static_cast<unsigned char **>(&inData),
|
|
// reinterpret_cast<int *>(&inLen),
|
|
// static_cast<short *>(this->pcmData));
|
|
// AACGetLastFrameInfo(aac, &frame);
|
|
// if (status != ERR_AAC_NONE) {
|
|
// lastErrno = status;
|
|
// return nullptr;
|
|
// }
|
|
// outLen = frame.outputSamps * sizeof(int16_t);
|
|
// return (uint8_t *)pcmData;
|
|
}
|