Step 7.4: HLS audio on AES67 (44.1 -> 48 kHz into the ring)

- decoder: s16 PCM -> stereo int32 -> esp_ae_rate_cvt 44.1 -> 48 kHz
  (32-bit, complexity 3; bypassed at 48 kHz; mono duplicated) -> ring.
  esp_audio_effects pinned to ~1.3.0 (1.4+ needs P4 rev >= 3).
- hls: each segment is downloaded completely into PSRAM (max 4 MB), then
  decoded; the connection is not held open while the decoder waits for
  ring space at playback speed.
- player: player_write() blocks while the ring is full and gives up when
  the source changes; the temporary 440 Hz producer is removed.
- Verified with Triple J Hottest: 441344 -> 480375 frames (10.008 s) and
  440320 -> 479260 (9.985 s) per segment; RTP 15000 packets, 0 gaps,
  peak -10 dBFS / RMS -22 dBFS; ring ~4.0 s, 0 underruns over ~50 s;
  heap 422 KB, PSRAM 27.5 MB free.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-25 14:52:19 +10:00
parent 8a6cb53e3b
commit 3ebb27e4bb
6 changed files with 122 additions and 41 deletions
+20 -1
View File
@@ -9,6 +9,24 @@ dependencies:
registry_url: https://components.espressif.com/
type: service
version: 2.5.0
espressif/esp_audio_effects:
component_hash: 6ad72ee106e25b07c9ae5b8ec77b566ef8d697473095f1c982e13247005b9ba6
dependencies:
- name: espressif/gmf_fft
registry_url: https://components.espressif.com
require: private
version: ~1.0
source:
registry_url: https://components.espressif.com/
type: service
version: 1.3.0~1
espressif/gmf_fft:
component_hash: b59451ef2f96d22b80c27a162515b21f1b85954dda434c0b092172164028779d
dependencies: []
source:
registry_url: https://components.espressif.com
type: service
version: 1.0.0
espressif/mdns:
component_hash: b679eafd0acae2066e2645bd91d073e33ca5be515e2545cd3c4e55a3e3bce3cb
dependencies:
@@ -25,7 +43,8 @@ dependencies:
version: 5.5.5
direct_dependencies:
- espressif/esp_audio_codec
- espressif/esp_audio_effects
- espressif/mdns
manifest_hash: e85f2bff1cc890def1a35e7da5210473c09ec845364a2bc2e54f6d2a7de54cbc
manifest_hash: 95404bd3492778da35a8aeee53935ee8ad13b09c56ae5fcbe77a4e921dafbb23
target: esp32p4
version: 2.0.0