Add `gr.WebRTC`, with each stream waiting its turn in the queue #13965
Add gr.WebRTC component ported from FastRTC
eb758c92
Run sync video handlers off the event loop
66fc380e
Skip stale video frames by default
c04abbf7
Release the microphone when a stream stops
8c766d84
Take gr.MicrophoneOptions and merge media constraints
20d592ef
Free the worker slot of a stream between chunks
2efb0586
Make each WebRTC stream one queue event
9e60f86c
Estimate the wait for a stream from its time limit
ca9ea425
End a stream event resumed after a page reload
2af60759
Fix admission, inputs and outputs of WebRTC streams
09c61848
Fix races of the WebRTC queue turn in the frontend
2163c1ed
Close only stream events in close_stream
418c0f05
Stop WebRTC media at once when a stream ends
fbfd9116
Guard the webcam stream start against a stop
5639d670
Fix stream events dropped, chunked or left in line
4757d9a2
Close a component's stream only from stream events
8e0ac127
Harden WebRTC stream ends, ids and candidates
c84aacc8
Stop a receive player from connecting after unmount
309b7131
Share the stream attempt logic of the WebRTC UIs
13f0bccf
End WebRTC streams despite shutdown or send mode
7ba0710b
Do not run a stream dropped while it waits
825fb7f8
Follow a resumed stream's outcome after a reload
2de0605c
Keep a session while its message stream is open
fa8654b4
Show the queue place of a waiting WebRTC stream
8159ee54
Pass the visitor's request to rtc_configuration
945193db
Document TURN setups for gr.WebRTC on Spaces
e58952ef
Stop waiting for events once they are acknowledged
226b7da4
Keep the chosen camera for audio-video streams
0fe03ab6
Mirror the frames handlers get, like gr.Image
f5101206
Add video_bitrate to set the bitrate range of video
31170ee6
Send ZeroGPU headers with server function calls
0b81c4c4
End streams on pagehide and let the webcam be turned off
dc9a0619
Show handler errors and gr.Warning/gr.Info like events
938c76c9
Let stream handlers take gr.Request and OAuth params
563ad82c
Pass and take video frames as RGB, like gr.Image
10482569
Use gr.Audio's numpy layout for stream audio
d85dea98
Group the stream control options in gr.StreamOptions
47eade9f
Show a toast for events without data again
70a91a1a
Fix messages and chunks of audio stream handlers
9f4d50a2
Give server functions the visitor's gr.Request
2706c64c
Send stream_options updates in the config's form
e00ec4f0
End the stream on a page back from the bfcache
aef9e8ca
Share ZeroGPU header requests and bound the wait
040c91d7
Test errors raised in audio handler threads
1b105a8b
Scale integer stream audio like gr.Audio
b492727e
Keep show_error for errors in sync audio handlers
58f55cc6
Share ZeroGPU headers only among server calls
e97d83d2
add changeset
53db1780
Fix ty errors in the WebRTC component and tests
d00c1277
Leave StreamOptions out of the docs event table
bd5d3b86
Declare wavesurfer.js for the MultimodalTextbox tests
1f5710e3
add changeset
44e51815
DEBUG: show the output of the vitest prewarm step
ab22a652
Pre-bundle test deps through their packages
75b8491e
add changeset
5370012f
Revert "DEBUG: show the output of the vitest prewarm step"
4c513fcd
Keep only a stream's latest output for resuming
b76ab807
Free the worker slot a job started with
36611c3e
Drop late messages of acknowledged events
ae447343
Ask for ZeroGPU headers only where a function opts in
b89cf357
Fix stream clean-up and ownership in gr.WebRTC
3cf4a443
Survive brief disconnects in the gr.WebRTC players
3eed2eb7
Move the line up when someone leaves it
b9594477
Count down the wait and show Cancel while in line
d38a36db
Ignore a start click right after stopping a stream
c91051c4
Let a stopped track end without a handler error
fccfd8ea
Add a handler class for video-only streams
6d5a6332
Hold the microphone only while streaming
057c8c52
Note that frames can arrive during start_up()
61cf48c1
Login to write a write a comment.
Login via GitHub