Stabilizza regia, live web e sync punteggi app nativa.
Corregge scadenza token regia oltre le 8h, tabellone HTML sulla pagina live, pulsanti pausa/ripresa in regia, link admin e broadcast ActionCable diretto. App Android: overlay branding, sync score da regia via WebSocket con reconnect e poll. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -100,13 +100,31 @@ module Api
|
||||
end
|
||||
|
||||
def network_test
|
||||
upload_mbps = params[:upload_mbps].to_f
|
||||
preset = Sessions::SelectQuality.call(upload_mbps: upload_mbps)
|
||||
@session.update!(
|
||||
quality_preset: preset[:id],
|
||||
target_bitrate: preset[:target_bitrate],
|
||||
target_fps: preset[:target_fps]
|
||||
)
|
||||
@session.stream_events.create!(
|
||||
event_type: "network_test",
|
||||
metadata: params.permit(:download_mbps, :upload_mbps, :latency_ms, :network_type).to_h,
|
||||
metadata: params.permit(:download_mbps, :upload_mbps, :latency_ms, :network_type)
|
||||
.to_h.merge(
|
||||
"quality_preset" => preset[:id],
|
||||
"target_bitrate" => preset[:target_bitrate]
|
||||
),
|
||||
occurred_at: Time.current
|
||||
)
|
||||
ready = params[:upload_mbps].to_f >= (@session.target_bitrate / 1_000_000.0 * 0.8)
|
||||
render json: { ready: ready, target_upload_mbps: @session.target_bitrate / 1_000_000.0 }
|
||||
target_upload = preset[:target_bitrate] / 1_000_000.0
|
||||
ready = upload_mbps >= (target_upload * Sessions::SelectQuality::UPLOAD_HEADROOM)
|
||||
render json: {
|
||||
ready: ready,
|
||||
target_upload_mbps: target_upload,
|
||||
quality_preset: preset[:id],
|
||||
target_bitrate: preset[:target_bitrate],
|
||||
target_fps: preset[:target_fps]
|
||||
}
|
||||
end
|
||||
|
||||
def youtube_stats
|
||||
|
||||
Reference in New Issue
Block a user