stream: surface ingest prefetch progress in the player
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
c12e522fee
commit
1648030eba
4 changed files with 66 additions and 2 deletions
|
|
@ -169,6 +169,24 @@ harbor.http.register(
|
|||
fun(_, resp) -> resp.json(history())
|
||||
)
|
||||
|
||||
# État du préchargement, relayé depuis le daemon d'ingestion (reverse proxy) :
|
||||
# le player n'a pas accès direct au réseau interne, on lui expose donc l'info
|
||||
# {ready, prefetch} via le même harbor que le flux. Si le daemon est injoignable
|
||||
# on renvoie un objet neutre plutôt qu'une erreur, pour ne pas casser le player.
|
||||
ingest_status_url = "http://ingest:8080/status"
|
||||
harbor.http.register(
|
||||
port=8000, method="GET", "/ingest/status",
|
||||
fun(_, resp) -> begin
|
||||
resp.content_type("application/json; charset=utf-8")
|
||||
body = http.get(ingest_status_url, timeout=5.0)
|
||||
if body.status_code == 200 then
|
||||
resp.data(string.trim(body) ^ "\n")
|
||||
else
|
||||
resp.data("{}")
|
||||
end
|
||||
end
|
||||
)
|
||||
|
||||
# Passer au morceau suivant : on saute le morceau en cours sur la source
|
||||
# diffusée. request.dynamic a déjà préchargé le suivant, donc l'enchaînement
|
||||
# est immédiat (le prochain /next est demandé au daemon dans la foulée).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue