mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-08 20:47:08 +03:00
53 lines
1002 B
C++
53 lines
1002 B
C++
#ifndef BELL_DISABLE_CODECS
|
|
#ifndef DECODER_GLOBALS_H
|
|
#define DECODER_GLOBALS_H
|
|
|
|
#define AAC_READBUF_SIZE (4 * AAC_MAINBUF_SIZE * AAC_MAX_NCHANS)
|
|
#define MP3_READBUF_SIZE (2 * 1024);
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <memory>
|
|
#include "aacdec.h"
|
|
#include "mp3dec.h"
|
|
|
|
namespace bell
|
|
{
|
|
class DecodersInstance
|
|
{
|
|
public:
|
|
DecodersInstance(){};
|
|
~DecodersInstance()
|
|
{
|
|
MP3FreeDecoder(mp3Decoder);
|
|
AACFreeDecoder(aacDecoder);
|
|
};
|
|
|
|
HAACDecoder aacDecoder = NULL;
|
|
HMP3Decoder mp3Decoder = NULL;
|
|
|
|
void ensureAAC()
|
|
{
|
|
if (aacDecoder == NULL)
|
|
{
|
|
aacDecoder = AACInitDecoder();
|
|
}
|
|
}
|
|
|
|
void ensureMP3()
|
|
{
|
|
if (mp3Decoder == NULL)
|
|
{
|
|
mp3Decoder = MP3InitDecoder();
|
|
}
|
|
}
|
|
};
|
|
|
|
extern bell::DecodersInstance* decodersInstance;
|
|
|
|
void createDecoders();
|
|
}
|
|
|
|
#endif
|
|
#endif
|