Skip to content

Commit 8cd27d3

Browse files
Hormoldclaude
andcommitted
feat(rtc): add restart_publisher method to Room
Add `restart_publisher()` method to the Room class that performs an ICE restart on the publisher PeerConnection. This is useful when the publisher connection fails while the subscriber still works. Use case: When sending data (stream_text/publish_data) times out but receiving audio/video continues to work, the publisher PeerConnection may be stuck. Currently there's no way to recover without disconnecting the entire room. This method allows recovering the publisher without breaking audio streams. The implementation follows the pattern of get_rtc_stats(), using FFI request/response/callback with async_id for async operation tracking. Note: This PR requires corresponding changes in livekit/rust-sdks to add the FFI bindings for RestartPublisher. The proto files have been regenerated from a local rust-sdks modification. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 20d73ec commit 8cd27d3

File tree

13 files changed

+413
-248
lines changed

13 files changed

+413
-248
lines changed

livekit-rtc/livekit/rtc/_proto/audio_frame_pb2.py

Lines changed: 15 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)