Step 7.2: HLS client fetches live segments (log only)
- main/hls: task active while source.mode is hls/auto and hls_url is set. esp_http_client over HTTPS (IDF certificate bundle), redirects followed (max 5), streamed reads in 4 KB chunks to a sink callback. - Master playlist: highest BANDWIDTH variant; URL resolution for absolute, host-relative and path-relative references; CRLF tolerant. - Media playlist: TARGETDURATION, MEDIA-SEQUENCE, segments; start 3 segments behind the live edge, fetch each new one in order, skip ahead if the window moved past us, reload after target/2 when nothing is new. - Verified with Triple J Hottest (ABC, Akamai): 252 kbit/s AAC-LC variant chosen, 3 back-fill segments then one new ~10 s segment at a time, ~303 KB in ~1.25 s each; heap 439 KB, PSRAM 31.9 MB free. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
#include "aes67_tx.h"
|
||||
#include "aes67_web.h"
|
||||
#include "audio_ring.h"
|
||||
#include "hls.h"
|
||||
#include "esp_log.h"
|
||||
#include "freertos/FreeRTOS.h"
|
||||
#include "freertos/task.h"
|
||||
@@ -112,5 +113,9 @@ esp_err_t player_init(void)
|
||||
player_apply(src);
|
||||
cJSON_Delete(src);
|
||||
xTaskCreate(test_producer, "test_prod", 3072, NULL, 5, NULL);
|
||||
err = hls_start(NULL); // 7.2: fetch and log only; decoding in 7.3
|
||||
if (err != ESP_OK) {
|
||||
return err;
|
||||
}
|
||||
return status_register(player_status);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user