Index: media/video/capture/mac/video_capture_device_qtkit_mac.mm |
diff --git a/media/video/capture/mac/video_capture_device_qtkit_mac.mm b/media/video/capture/mac/video_capture_device_qtkit_mac.mm |
index cd9c6d333e9dd36d9024d6e292ea0f7dc96c3781..79f8a100b95ba9a65d74bc5e4146f086f5fcedcc 100644 |
--- a/media/video/capture/mac/video_capture_device_qtkit_mac.mm |
+++ b/media/video/capture/mac/video_capture_device_qtkit_mac.mm |
@@ -219,8 +219,10 @@ |
- (void)stopCapture { |
if ([[captureSession_ inputs] count] == 1) { |
- [captureSession_ removeInput:captureDeviceInput_]; |
+ // |stopRunning| must be called before |removeInput:| to avoid a deadlock |
+ // with device enumeration when the active camera is unplugged. |
[captureSession_ stopRunning]; |
+ [captureSession_ removeInput:captureDeviceInput_]; |
} |
[[NSNotificationCenter defaultCenter] removeObserver:self]; |