summaryrefslogtreecommitdiffstats
path: root/media/video
diff options
context:
space:
mode:
authorwjia@chromium.org <wjia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-08 23:25:05 +0000
committerwjia@chromium.org <wjia@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-08 23:25:05 +0000
commit736a49c269f9b996c15ac694231fd4fc22fa9183 (patch)
tree575eee25dc90d964347c6a511812c5fa074e6f1d /media/video
parentf71a7d55d2c0da03b7499163c0184975a16bd25d (diff)
downloadchromium_src-736a49c269f9b996c15ac694231fd4fc22fa9183.zip
chromium_src-736a49c269f9b996c15ac694231fd4fc22fa9183.tar.gz
chromium_src-736a49c269f9b996c15ac694231fd4fc22fa9183.tar.bz2
disconnect captureOutput from VideoCaptureDeviceQTKit and captureSession when capture is stopped.
BUG=147104 Review URL: https://codereview.chromium.org/11065029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160745 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/video')
-rw-r--r--media/video/capture/mac/video_capture_device_qtkit_mac.mm6
1 files changed, 6 insertions, 0 deletions
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 27dfa2c..c2d2b06 100644
--- a/media/video/capture/mac/video_capture_device_qtkit_mac.mm
+++ b/media/video/capture/mac/video_capture_device_qtkit_mac.mm
@@ -98,6 +98,12 @@
// The device is still running.
[self stopCapture];
}
+ if ([[captureSession_ outputs] count] > 0) {
+ // Only one output is set for |captureSession_|.
+ [[[captureSession_ outputs] objectAtIndex:0] setDelegate:nil];
+ [captureSession_ removeOutput:
+ [[captureSession_ outputs] objectAtIndex:0]];
+ }
[captureSession_ release];
captureSession_ = nil;
[captureDeviceInput_ release];