From fc4733ffe88a6e023f260a5b9df0e0f79075c603 Mon Sep 17 00:00:00 2001 From: dailz Date: Sat, 6 Jun 2026 20:57:25 +0800 Subject: [PATCH] fix: return Ok(true) on ICE Disconnected to prevent resource leak poll_rtc() always returned Ok(false), preventing WebRtcState from clearing self.inner on disconnect. This leaked the UDP socket, Rtc instance, and 65KB buffer permanently if the client never reconnected. Closes #10 --- src/webrtc.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/webrtc.rs b/src/webrtc.rs index b104572..7c7aa8f 100644 --- a/src/webrtc.rs +++ b/src/webrtc.rs @@ -357,6 +357,7 @@ impl WebRtcInner { Event::IceConnectionStateChange(IceConnectionState::Disconnected) => { tracing::warn!("WebRTC disconnected"); self.connected = false; + return Ok(true); } Event::MediaAdded(ma) => { tracing::info!("Media added: mid={:?}", ma.mid);