From b60ee133ac5c74908020e2372ffa88a60e0dc83b Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Thu, 14 May 2026 19:05:04 +0000 Subject: [PATCH] Changes Co-authored-by: Reifonas <211114984+Reifonas@users.noreply.github.com> --- src/components/ShareButton.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/components/ShareButton.tsx b/src/components/ShareButton.tsx index d0d7a66..bc483e9 100644 --- a/src/components/ShareButton.tsx +++ b/src/components/ShareButton.tsx @@ -30,6 +30,7 @@ export function ShareButton({ variant = 'default', autoOpen, onHandleChange, onV // Prefer the XR broadcast mirror (opaque) if active — required during AR passthrough. let stream: MediaStream | null = null; const mirror = getBroadcastSource(); + let frameSource: HTMLCanvasElement | null = mirror; if (mirror && typeof mirror.captureStream === 'function') { stream = mirror.captureStream(24); } @@ -38,6 +39,7 @@ export function ShareButton({ variant = 'default', autoOpen, onHandleChange, onV if (!stream || stream.getVideoTracks().length === 0) { const canvas = document.querySelector('canvas') as HTMLCanvasElement | null; if (canvas && typeof canvas.captureStream === 'function') { + frameSource = canvas; stream = canvas.captureStream(30); } } @@ -51,7 +53,7 @@ export function ShareButton({ variant = 'default', autoOpen, onHandleChange, onV } streamRef.current = stream; - const h = await startBroadcast(stream); + const h = await startBroadcast(stream, { frameSource }); setHandle(h); onHandleChange?.(h); h.onViewerCountChange((n) => { setViewerCount(n); onViewerCountChange?.(n); }); @@ -96,6 +98,7 @@ export function ShareButton({ variant = 'default', autoOpen, onHandleChange, onV useEffect(() => { if (!handle) return; const swapTo = (canvas: HTMLCanvasElement | null) => { + handle.setFrameSource(canvas); if (!canvas || typeof canvas.captureStream !== 'function') return; const newStream = canvas.captureStream(24); const oldStream = streamRef.current;