From cc0fd86c050208495bcafff82ccec3614bf8a0fb Mon Sep 17 00:00:00 2001 From: jcm <6864788+jcm93@users.noreply.github.com> Date: Wed, 26 Nov 2025 10:59:56 -0600 Subject: [PATCH] mac-avcapture: Avoid possible bad access on device connect events --- plugins/mac-avcapture/OBSAVCapture.m | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/plugins/mac-avcapture/OBSAVCapture.m b/plugins/mac-avcapture/OBSAVCapture.m index 1938b538a..3d0425afa 100644 --- a/plugins/mac-avcapture/OBSAVCapture.m +++ b/plugins/mac-avcapture/OBSAVCapture.m @@ -1146,22 +1146,15 @@ static const UInt32 kMaxFrameRateRangesInDescription = 10; return; } - if (![[device uniqueID] isEqualTo:self.deviceUUID]) { - obs_source_update_properties(self.captureInfo->source); - return; - } - - if (self.deviceInput.device) { - [self AVCaptureLog:LOG_INFO withFormat:@"Received connect event with active device '%@' (UUID %@)", - self.deviceInput.device.localizedName, self.deviceInput.device.uniqueID]; - - obs_source_update_properties(self.captureInfo->source); - return; - } + obs_source_update_properties(self.captureInfo->source); [self AVCaptureLog:LOG_INFO withFormat:@"Received connect event for device '%@' (UUID %@)", device.localizedName, device.uniqueID]; + if (![[device uniqueID] isEqualTo:self.deviceUUID]) { + return; + } + NSError *error; NSString *presetName = [OBSAVCapture stringFromSettings:self.captureInfo->settings withSetting:@"preset"]; BOOL isPresetEnabled = obs_data_get_bool(self.captureInfo->settings, "use_preset");