Skip to content

Commit d4ca1e4

Browse files
committed
prepare for libmad decoder
1 parent 9da76f4 commit d4ca1e4

File tree

3 files changed

+31
-21
lines changed

3 files changed

+31
-21
lines changed

src/Audio.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
audio.cpp
44
55
Created on: Oct 28.2018 */char audioI2SVers[] ="\
6-
Version 3.3.2p ";
6+
Version 3.3.2q ";
77
/* Updated on: Jul 11.2025
88
99
Author: Wolle (schreibfaul1)
@@ -44,7 +44,8 @@ void AUDIO_INFO(const char* fmt, Args&&... args) {
4444
char* dst = result.get();
4545
if (!dst) return; // Or error treatment
4646
std::snprintf(dst, len + 1, fmt, std::forward<Args>(args)...);
47-
if(audio_info) audio_info(result.get());
47+
result.append(ANSI_ESC_RESET);
48+
if(audio_info) audio_info(result.c_get());
4849
result.reset();
4950
}
5051

@@ -4588,7 +4589,7 @@ void Audio::setDecoderItems() {
45884589
setSampleRate(MP3GetSampRate());
45894590
setBitsPerSample(MP3GetBitsPerSample());
45904591
setBitrate(MP3GetBitrate());
4591-
AUDIO_INFO("MPEG-%s, Layer %s",(MP3GetVersion()==0) ? "2.5" : (MP3GetVersion()==2) ? "2" : "1", (MP3GetLayer()==1) ? "III" : (MP3GetLayer()==2) ? "II" : "I");
4592+
AUDIO_INFO("%s %s", MP3GetMPEGVersion(), MP3GetLayer());
45924593
}
45934594
if(m_codec == CODEC_AAC || m_codec == CODEC_M4A) {
45944595
setChannels(AACGetChannels());

src/mp3_decoder/mp3_decoder.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1550,8 +1550,16 @@ int32_t MP3GetChannels(){return m_MP3FrameInfo->nChans;}
15501550
int32_t MP3GetBitsPerSample(){return m_MP3FrameInfo->bitsPerSample;}
15511551
int32_t MP3GetBitrate(){return m_MP3FrameInfo->bitrate;}
15521552
int32_t MP3GetOutputSamps(){return m_MP3FrameInfo->outputSamps;}
1553-
int32_t MP3GetLayer(){return m_MP3FrameInfo->layer;} // 0: Reserviert, 1: Layer III, 2: Layer II, 3: Layer I
1554-
int32_t MP3GetVersion(){return m_MP3FrameInfo->version;} // 0: MPEG-2.5, 1: Reserviert, 2: MPEG-2 (ISO/IEC 13818-3), 3: MPEG-1 (ISO/IEC 11172-3)
1553+
1554+
const char* MP3GetLayer(){
1555+
const char* layer_str = layer_table[m_MP3FrameInfo->layer]; // 0: Reserviert, 1: Layer III, 2: Layer II, 3: Layer I
1556+
return layer_str;
1557+
}
1558+
1559+
const char* MP3GetMPEGVersion(){
1560+
const char* mpeg_version_str = mpeg_version_table[m_MP3FrameInfo->version]; // 0: MPEG-2.5, 1: Reserviert, 2: MPEG-2 (ISO/IEC 13818-3), 3: MPEG-1 (ISO/IEC 11172-3)
1561+
return mpeg_version_str;
1562+
}
15551563
/***********************************************************************************************************************
15561564
* Function: MP3GetNextFrameInfo
15571565
*
@@ -4264,3 +4272,4 @@ int MP3_AnalyzeFrame(const uint8_t *frame_data, size_t frame_len) {
42644272

42654273
return main_data_begin_val;
42664274
}
4275+

src/mp3_decoder/mp3_decoder.h

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,20 +22,6 @@ enum {
2222
MP3_NONE = 0,
2323
MP3_ERR = -1,
2424
MP3_STOP = -100,
25-
// ERR_MP3_INDATA_UNDERFLOW = -1,
26-
// ERR_MP3_MAINDATA_UNDERFLOW = -2,
27-
// ERR_MP3_FREE_BITRATE_SYNC = -3,
28-
// ERR_MP3_OUT_OF_MEMORY = -4,
29-
// ERR_MP3_NULL_POINTER = -5,
30-
// ERR_MP3_INVALID_FRAMEHEADER = -6,
31-
// ERR_MP3_INVALID_SIDEINFO = -7,
32-
// ERR_MP3_INVALID_SCALEFACT = -8,
33-
// ERR_MP3_INVALID_HUFFCODES = -9,
34-
// ERR_MP3_INVALID_DEQUANTIZE = -10,
35-
// ERR_MP3_INVALID_IMDCT = -11,
36-
// ERR_MP3_INVALID_SUBBAND = -12,
37-
38-
// ERR_UNKNOWN = -9999
3925
};
4026

4127
typedef struct MP3FrameInfo {
@@ -479,6 +465,20 @@ const uint32_t csa[8][2] PROGMEM = {
479465
* see PolyphaseStereo() and PolyphaseMono()
480466
*/
481467

468+
static const char* mpeg_version_table[] = {
469+
"MPEG-2.5", // 0
470+
"reserved", // 1
471+
"MPEG-2", // 2
472+
"MPEG-1" // 3
473+
};
474+
475+
static const char* layer_table[] = {
476+
"Unknown", // 0
477+
"Layer I", // 1
478+
"Layer II", // 2
479+
"Layer III" // 3
480+
};
481+
482482
// prototypes
483483
bool MP3Decoder_AllocateBuffers(void);
484484
bool MP3Decoder_IsInit();
@@ -492,8 +492,8 @@ int32_t MP3GetChannels();
492492
int32_t MP3GetBitsPerSample();
493493
int32_t MP3GetBitrate();
494494
int32_t MP3GetOutputSamps();
495-
int32_t MP3GetLayer();
496-
int32_t MP3GetVersion();
495+
const char* MP3GetLayer();
496+
const char* MP3GetMPEGVersion();
497497

498498
//internally used
499499
int MP3_AnalyzeFrame(const uint8_t *frame_data, size_t frame_len);

0 commit comments

Comments
 (0)