|
TB2026-YDS Firmware
|

Files | |
| audio_sink.h | |
| decoder.c | |
| Decoder facade: owns the FILE*, auto-detects the format, delegates to a backend. | |
| decoder.h | |
| Audio file decoder: turns an MP3 or WAV file into interleaved PCM frames. | |
| decoder_backend.h | |
| Internal contract between the decoder facade (decoder.c) and a format backend. | |
| decoder_mp3.c | |
| MP3 backend: libhelix (fixed-point) decoding one frame per decoder_read(). | |
| decoder_wav.c | |
| WAV backend: PCM RIFF/WAVE, 16-bit or 24-bit, mono or stereo, up to 192 kHz. | |
| mp3_frame.c | |
| MPEG Layer III header + Xing/Info/VBRI parsing (see mp3_frame.h). | |
| mp3_frame.h | |
| Internal MPEG-1/2 Layer III header + VBR-tag (Xing/Info/VBRI) parsing. | |
| pipeline.c | |
| Audio pipeline task: producer->consumer loop from a PCM source to a selectable sink (wired DAC or Bluetooth). | |
| pipeline.h | |
| Audio pipeline: the real-time task that pulls PCM from a source and pushes it to an Audio sink interface. | |
| player.c | |
| Playback transport state machine over the playlist and pipeline. | |
| player.h | |
| Playback transport: the orchestrator that turns the playlist into sound. | |
| playlist.c | |
| playlist.h | |
| Play order and navigation over the Storage service index: what to play next. | |
| sink_bluetooth.c | |
| Bluetooth A2DP audio sink: bridge the push pipeline to the pull A2DP source. | |
| sink_bluetooth.h | |
| Bluetooth A2DP audio sink: stream PCM to a connected speaker. | |
| sink_i2s_dac.c | |
| sink_i2s_dac.h | |
| Wired output path control: PCM5242 analog mute (XSMT) and MAX97220 amp shutdown. | |
| track_meta.c | |
| Tags + format reader (see track_meta.h): MP3 ID3v2/ID3v1, WAV header, no playback. | |
| track_meta.h | |
| Read a track's tags and format without playing it. | |
| volume.c | |
| Volume service: pot -> active output (DAC byte or Bluetooth AVRCP), deadband write. | |
| volume.h | |
| Volume service: maps the pot to whichever output is active (DAC, Bluetooth, or none). | |