Skip to content

Commit 7692ffa

Browse files
Add code (#211)
1 parent e231f79 commit 7692ffa

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

backend/fastrtc/stream.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,12 @@ def __init__(
7777
self.rtp_params = rtp_params
7878
self.event_handler = handler
7979
self.concurrency_limit = cast(
80-
(int | float),
80+
(int),
8181
1 if concurrency_limit in ["default", None] else concurrency_limit,
8282
)
83+
self.concurrency_limit_gradio = cast(
84+
int | Literal["default"] | None, concurrency_limit
85+
)
8386
self.time_limit = time_limit
8487
self.additional_output_components = additional_outputs
8588
self.additional_input_components = additional_inputs
@@ -242,6 +245,7 @@ def _generate_default_ui(
242245
assert self.additional_outputs_handler
243246
output_video.on_additional_outputs(
244247
self.additional_outputs_handler,
248+
concurrency_limit=self.concurrency_limit_gradio, # type: ignore
245249
inputs=additional_output_components,
246250
outputs=additional_output_components,
247251
)
@@ -289,6 +293,7 @@ def _generate_default_ui(
289293
assert self.additional_outputs_handler
290294
output_video.on_additional_outputs(
291295
self.additional_outputs_handler,
296+
concurrency_limit=self.concurrency_limit_gradio, # type: ignore
292297
inputs=additional_output_components,
293298
outputs=additional_output_components,
294299
)
@@ -342,6 +347,7 @@ def _generate_default_ui(
342347
self.additional_outputs_handler,
343348
inputs=additional_output_components,
344349
outputs=additional_output_components,
350+
concurrency_limit=self.concurrency_limit_gradio, # type: ignore
345351
)
346352
elif self.modality == "audio" and self.mode == "receive":
347353
with gr.Blocks() as demo:
@@ -395,6 +401,7 @@ def _generate_default_ui(
395401
self.additional_outputs_handler,
396402
inputs=additional_output_components,
397403
outputs=additional_output_components,
404+
concurrency_limit=self.concurrency_limit_gradio, # type: ignore
398405
)
399406
elif self.modality == "audio" and self.mode == "send":
400407
with gr.Blocks() as demo:
@@ -447,6 +454,7 @@ def _generate_default_ui(
447454
self.additional_outputs_handler,
448455
inputs=additional_output_components,
449456
outputs=additional_output_components,
457+
concurrency_limit=self.concurrency_limit_gradio, # type: ignore
450458
)
451459
elif self.modality == "audio" and self.mode == "send-receive":
452460
with gr.Blocks() as demo:
@@ -500,6 +508,7 @@ def _generate_default_ui(
500508
self.additional_outputs_handler,
501509
inputs=additional_output_components,
502510
outputs=additional_output_components,
511+
concurrency_limit=self.concurrency_limit_gradio, # type: ignore
503512
)
504513
elif self.modality == "audio-video" and self.mode == "send-receive":
505514
css = """.my-group {max-width: 600px !important; max-height: 600 !important;}
@@ -555,6 +564,7 @@ def _generate_default_ui(
555564
self.additional_outputs_handler,
556565
inputs=additional_output_components,
557566
outputs=additional_output_components,
567+
concurrency_limit=self.concurrency_limit_gradio, # type: ignore
558568
)
559569
else:
560570
raise ValueError(f"Invalid modality: {self.modality} and mode: {self.mode}")

backend/fastrtc/webrtc.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,7 @@ def on_additional_outputs(
233233
inputs = list(inputs)
234234

235235
async def handler(webrtc_id: str, *args):
236+
print("webrtc_id", webrtc_id)
236237
async for next_outputs in self.output_stream(webrtc_id):
237238
yield fn(*args, *next_outputs.args) # type: ignore
238239

backend/fastrtc/webrtc_connection_mixin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ def __init__(self):
7575
self.handlers = {}
7676
self.connection_timeouts = defaultdict(asyncio.Event)
7777
# These attributes should be set by subclasses:
78-
self.concurrency_limit: int | float | None
78+
self.concurrency_limit: int | None
7979
self.event_handler: HandlerType | None
8080
self.time_limit: float | None
8181
self.modality: Literal["video", "audio", "audio-video"]

0 commit comments

Comments
 (0)