Stabilizza live YouTube/RTMP e fix crash rotazione mobile.
Pipeline YouTube con relay, overlay e publisher sync lato backend; fix GL pauseGlDuringRotation su Android per evitare crash in rotazione durante lo streaming Flutter. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -36,7 +36,7 @@ module Youtube
|
||||
@session.reload
|
||||
return @session if @session.terminal?
|
||||
return @session if @session.platform != "youtube"
|
||||
return @session if @session.youtube_broadcast_id.present?
|
||||
return @session if @session.youtube_broadcast_id.present? && @session.stream_key.present?
|
||||
|
||||
yt = BroadcastService.new(@session.match.team, youtube_channel: @youtube_channel)
|
||||
title = "#{@session.match.team.name} vs #{@session.match.opponent_name}"
|
||||
@@ -53,10 +53,7 @@ module Youtube
|
||||
rtmp_url: broadcast[:rtmp_url]
|
||||
)
|
||||
|
||||
# Relay solo quando _air pubblica (overlay pronto); altrimenti ffmpeg esce subito.
|
||||
if Streams::OverlayRelay.running?(@session.id)
|
||||
Streams::YoutubeRelay.start(@session)
|
||||
end
|
||||
# Relay copy MediaMTX → YouTube parte subito (copertina slate se il telefono non c'è ancora).
|
||||
@session.stream_events.create!(
|
||||
event_type: "youtube_ready",
|
||||
metadata: { broadcast_id: broadcast[:broadcast_id] },
|
||||
@@ -71,6 +68,7 @@ module Youtube
|
||||
youtube_broadcast_id: @session.youtube_broadcast_id
|
||||
}
|
||||
)
|
||||
Youtube::LivePipeline.schedule!(@session, force: true)
|
||||
@session
|
||||
rescue BroadcastService::Error => e
|
||||
@session.stream_events.create!(
|
||||
|
||||
Reference in New Issue
Block a user