summaryrefslogtreecommitdiffstats
path: root/media/media.gyp
diff options
context:
space:
mode:
authormcasas@chromium.org <mcasas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-27 16:45:50 +0000
committermcasas@chromium.org <mcasas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-27 16:45:50 +0000
commit5e67a74074a37fee4725918964c138dd1e5ec0b9 (patch)
tree41656950c394383e145d4ef50dad3583f65415a0 /media/media.gyp
parent705872bdc38e14bac98b4999acc8d6294ea06218 (diff)
downloadchromium_src-5e67a74074a37fee4725918964c138dd1e5ec0b9.zip
chromium_src-5e67a74074a37fee4725918964c138dd1e5ec0b9.tar.gz
chromium_src-5e67a74074a37fee4725918964c138dd1e5ec0b9.tar.bz2
Adding AVCaptureSession, AVCaptureDevice and the associated
AVConnections to VideoCaptureDeviceAVFoundation and the glue. Added capture session Cr(AVCaptureSession) usage and lifetime management to class VideoCaptureDeviceAVFoundation. The methods' names and functionality were _inspired_ by QTKit implementation. But, their usage has been cleaned up and documented: - initWithFrameReceiver() method alloc's-init's the capture session, and is counteracted by dealloc() that release()s it. This is the _only_ release point. - startCapture() is complementary to stopCapture(), both manipulate the running state of AVCaptureSession; they also connect/disconnect notifications. Method setCaptureDevice() does 4 things, when configuring: - Retrieves the static AVCaptureDevice by name. - Creates an associated AVCaptureDeviceInput. Plugs it into the session. - Creates an AVCaptureVideoDataOutput. Plugs it into the session. - Configures a by-default 1280x720@30fps capture format. When releasing, it just calls stopCapture() and unplugs the AVCaptureDeviceSession and AVCaptureVideoDataOutput from the sesion. With all that, the expected call sequence from VideoCaptureDeviceMac would be (- indicates internal call or note, + real call): +initWithFrameReceiver() +setFrameReceiver() +setCaptureDevice(device name) - inside, the default resolution is set 1280x720 +setCaptureWidth:height:frameRate with the desired parameters +startCapture() - [ capture ] +stopCapture +setCaptureDevice(empty name) - dealloc() is called dutifully and everything is released. This CL is part of a larger exercise to add support for Video Capture in Mac > 10.6 using AVFoundation. BUG=288562 Review URL: https://codereview.chromium.org/55373002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@237585 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/media.gyp')
-rw-r--r--media/media.gyp2
1 files changed, 2 insertions, 0 deletions
diff --git a/media/media.gyp b/media/media.gyp
index daff23d..5d8fad0 100644
--- a/media/media.gyp
+++ b/media/media.gyp
@@ -414,6 +414,8 @@
'video/capture/linux/video_capture_device_linux.h',
'video/capture/mac/avfoundation_glue.h',
'video/capture/mac/avfoundation_glue.mm',
+ 'video/capture/mac/coremedia_glue.h',
+ 'video/capture/mac/coremedia_glue.mm',
'video/capture/mac/platform_video_capturing_mac.h',
'video/capture/mac/video_capture_device_avfoundation_mac.h',
'video/capture/mac/video_capture_device_avfoundation_mac.mm',