e35058f53d
Backfills the working firmware that had stayed uncommitted across the build sessions, so the branch is self-contained. - audio: audio_player, radio_pipeline, sd_player, calm_tone, aac_player - net: podcast (RSS), udp_log - modes: balloons, plus calm/games/radio tweaks - ui: fonts header, icons; build files (CMakeLists, idf_component.yml, sdkconfig.defaults) - docs/superpowers: Histoires design + plan Note: sdkconfig stays gitignored (Wi-Fi creds + tuned LFN/FS/mbedtls settings); a fresh checkout must reconfigure those.
28 lines
761 B
C
28 lines
761 B
C
// Webradio streaming pipeline (ESP-ADF) for Lisael Box.
|
|
#pragma once
|
|
|
|
#include "esp_err.h"
|
|
#include <stdbool.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
// Start streaming a webradio by URL. Builds (once, lazily) an ESP-ADF pipeline:
|
|
// http_stream -> esp_decoder (auto MP3/AAC) -> i2s_stream (to ES8311)
|
|
// and points it at `url`. Stops any other audio source first.
|
|
//
|
|
// Safe to call repeatedly to switch stations: the running pipeline is stopped,
|
|
// the URI swapped, and the pipeline restarted.
|
|
esp_err_t lisael_radio_play(const char *url);
|
|
|
|
// Stop the radio pipeline (keeps it allocated for fast restart).
|
|
void lisael_radio_stop(void);
|
|
|
|
// True if the pipeline is currently running.
|
|
bool lisael_radio_is_playing(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|