YouTube come destinazione pubblica, non Match Live TV.

Non propone più il link MLTV per sessioni YouTube; la pagina /live
reindirizza a YouTube; il relay verso YouTube si riavvia al connect.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-04 07:25:07 +02:00
parent 9fd4d865b3
commit 1d67459bbe
12 changed files with 163 additions and 9 deletions

View File

@@ -47,6 +47,38 @@ class SessionNotifier extends StateNotifier<SessionState> {
state = state.copyWith(session: session, match: match);
}
void updateYoutubeLinks({
required String? youtubeWatchUrl,
required String? shareUrl,
String? youtubeBroadcastId,
bool youtubeReady = true,
}) {
final s = state.session;
if (s == null || s.platform != 'youtube') return;
state = state.copyWith(
session: StreamSession(
id: s.id,
matchId: s.matchId,
status: s.status,
platform: s.platform,
rtmpIngestUrl: s.rtmpIngestUrl,
hlsPlaybackUrl: s.hlsPlaybackUrl,
watchPageUrl: s.watchPageUrl,
shareUrl: shareUrl,
youtubeWatchUrl: youtubeWatchUrl,
youtubeBroadcastId: youtubeBroadcastId ?? s.youtubeBroadcastId,
youtubeReady: youtubeReady,
privacyStatus: s.privacyStatus,
qualityPreset: s.qualityPreset,
targetBitrate: s.targetBitrate,
startedAt: s.startedAt,
disconnectionCount: s.disconnectionCount,
score: s.score,
devices: s.devices,
),
);
}
void setMatch(MatchModel match) {
state = state.copyWith(match: match);
}
@@ -91,6 +123,7 @@ class SessionNotifier extends StateNotifier<SessionState> {
shareUrl: s.shareUrl,
youtubeWatchUrl: s.youtubeWatchUrl,
youtubeBroadcastId: s.youtubeBroadcastId,
youtubeReady: s.youtubeReady,
privacyStatus: s.privacyStatus,
qualityPreset: s.qualityPreset,
targetBitrate: s.targetBitrate,
@@ -133,7 +166,10 @@ class SessionNotifier extends StateNotifier<SessionState> {
rtmpIngestUrl: session.rtmpIngestUrl,
hlsPlaybackUrl: session.hlsPlaybackUrl,
watchPageUrl: session.watchPageUrl,
shareUrl: session.shareUrl,
youtubeWatchUrl: session.youtubeWatchUrl,
youtubeBroadcastId: session.youtubeBroadcastId,
youtubeReady: session.youtubeReady,
privacyStatus: session.privacyStatus,
qualityPreset: session.qualityPreset,
targetBitrate: session.targetBitrate,