Fix freeze YouTube al cambio punteggio: PNG atomica e relay stabile

rsvg scrive su .tmp poi rename; il feeder ignora PNG parziali.
YouTube relay: no doppio avvio, reconnect RTMP; overlay restart solo dopo 3 miss.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-04 09:07:06 +02:00
parent fde1213ca5
commit 4c7be615f1
4 changed files with 31 additions and 4 deletions

View File

@@ -86,8 +86,15 @@ module Streams
end
if running?(session.id)
Rails.logger.warn("[OverlayRelay] _air non attivo, restart session=#{session.id}")
misses = redis.incr(overlay_air_miss_key(session.id)).to_i
redis.expire(overlay_air_miss_key(session.id), 120)
return if misses < 3
redis.del(overlay_air_miss_key(session.id))
Rails.logger.warn("[OverlayRelay] _air non attivo dopo #{misses} tentativi, restart session=#{session.id}")
stop(session)
else
redis.del(overlay_air_miss_key(session.id))
end
start(session)
@@ -181,6 +188,10 @@ module Streams
redis.get(format(REDIS_KEY, session_id))
end
def overlay_air_miss_key(session_id)
format("overlay_relay:air_miss:%s", session_id)
end
def process_alive?(pid)
Process.kill(0, pid.to_i)
true