From 6748a8df4964299f397a45d287e99ed36d59e143 Mon Sep 17 00:00:00 2001 From: Freddy Boulton Date: Fri, 7 Mar 2025 14:15:37 -0500 Subject: [PATCH] fixes (#145) --- backend/fastrtc/stream.py | 4 +++- frontend/shared/StaticAudio.svelte | 9 +-------- frontend/shared/StaticVideo.svelte | 9 +-------- 3 files changed, 5 insertions(+), 17 deletions(-) diff --git a/backend/fastrtc/stream.py b/backend/fastrtc/stream.py index a5a553e..7047449 100644 --- a/backend/fastrtc/stream.py +++ b/backend/fastrtc/stream.py @@ -183,7 +183,7 @@ class Stream(WebRTCConnectionMixin): if component in additional_output_components ] for component in additional_output_components: - if component not in same_components: + if component in same_components: same_components.append(component) if self.modality == "video" and self.mode == "receive": with gr.Blocks() as demo: @@ -230,6 +230,7 @@ class Stream(WebRTCConnectionMixin): assert self.additional_outputs_handler output_video.on_additional_outputs( self.additional_outputs_handler, + inputs=additional_output_components, outputs=additional_output_components, ) elif self.modality == "video" and self.mode == "send": @@ -275,6 +276,7 @@ class Stream(WebRTCConnectionMixin): assert self.additional_outputs_handler output_video.on_additional_outputs( self.additional_outputs_handler, + inputs=additional_output_components, outputs=additional_output_components, ) elif self.modality == "video" and self.mode == "send-receive": diff --git a/frontend/shared/StaticAudio.svelte b/frontend/shared/StaticAudio.svelte index 4f4c385..bda382d 100644 --- a/frontend/shared/StaticAudio.svelte +++ b/frontend/shared/StaticAudio.svelte @@ -36,14 +36,6 @@ stop: undefined; }>(); - onMount(() => { - window.setInterval(() => { - if (stream_state == "open") { - dispatch("tick"); - } - }, 1000); - }); - async function start_stream(value: string): Promise { if (value === "start_webrtc_stream") { stream_state = "waiting"; @@ -55,6 +47,7 @@ case "connected": console.info("connected"); stream_state = "open"; + dispatch("tick"); break; case "disconnected": console.info("closed"); diff --git a/frontend/shared/StaticVideo.svelte b/frontend/shared/StaticVideo.svelte index 5b9f479..dc14dc7 100644 --- a/frontend/shared/StaticVideo.svelte +++ b/frontend/shared/StaticVideo.svelte @@ -27,14 +27,6 @@ let stream_state = "closed"; - onMount(() => { - window.setInterval(() => { - if (stream_state == "open") { - dispatch("tick"); - } - }, 1000); - }); - $: if (value === "start_webrtc_stream") { _webrtc_id = Math.random().toString(36).substring(2); value = _webrtc_id; @@ -43,6 +35,7 @@ switch (pc.connectionState) { case "connected": stream_state = "open"; + dispatch("tick"); break; case "disconnected": stop(pc);