TB2026-YDS Firmware
Loading...
Searching...
No Matches
decoder_mp3.c File Reference

MP3 backend: libhelix (fixed-point) decoding one frame per decoder_read(). More...

#include "decoder_backend.h"
#include "mp3_frame.h"
#include "mp3dec.h"
#include "esp_log.h"
#include <stdlib.h>
#include <string.h>

Macros

#define MP3_IN_BUF_SIZE   4096 /* comfortably larger than one 320 kbps frame */

Variables

const decoder_backend_t decoder_mp3_backend

Detailed Description

MP3 backend: libhelix (fixed-point) decoding one frame per decoder_read().

Owns a sliding compressed-input buffer: helix consumes from it and we top it up from the file. Mono frames are up-mixed to stereo so the wired sink's fixed stereo slots stay full.

Note
Développé avec l'assistance de Claude Opus 4.8 (Anthropic), sous la direction de Y. Dos Santos : spécification, revue et validation sur cible par l'auteur.

Macro Definition Documentation

◆ MP3_IN_BUF_SIZE

#define MP3_IN_BUF_SIZE   4096 /* comfortably larger than one 320 kbps frame */

Variable Documentation

◆ decoder_mp3_backend

const decoder_backend_t decoder_mp3_backend
Initial value:
= {
.open = mp3_open,
.read = mp3_read,
.close = mp3_close,
}