Commit 8cd27d3
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- livekit-rtc/livekit/rtc
- _proto
13 files changed
+413
-248
lines changedSome generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments