From abfbf0771249244b8a5c8109c78b10df6e0aeac0 Mon Sep 17 00:00:00 2001 From: pengx17 Date: Wed, 2 Apr 2025 14:46:34 +0000 Subject: [PATCH] fix(native): properly cleanup resource when activating device failed (#11380) --- packages/frontend/native/media_capture/src/macos/tap_audio.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/frontend/native/media_capture/src/macos/tap_audio.rs b/packages/frontend/native/media_capture/src/macos/tap_audio.rs index 63ac22780..be0b9ed0e 100644 --- a/packages/frontend/native/media_capture/src/macos/tap_audio.rs +++ b/packages/frontend/native/media_capture/src/macos/tap_audio.rs @@ -225,6 +225,8 @@ impl AggregateDevice { // Start the device to activate it let status = unsafe { AudioDeviceStart(device_id, dummy_proc_id) }; if status != 0 { + // Clean up the IO proc if AudioDeviceStart fails + let _ = unsafe { AudioDeviceDestroyIOProcID(device_id, dummy_proc_id) }; return Err(CoreAudioError::AudioDeviceStartFailed(status).into()); }