diff options
author | mcasas@chromium.org <mcasas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-27 16:45:50 +0000 |
---|---|---|
committer | mcasas@chromium.org <mcasas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-11-27 16:45:50 +0000 |
commit | 5e67a74074a37fee4725918964c138dd1e5ec0b9 (patch) | |
tree | 41656950c394383e145d4ef50dad3583f65415a0 /media/media.gyp | |
parent | 705872bdc38e14bac98b4999acc8d6294ea06218 (diff) | |
download | chromium_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.gyp | 2 |
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', |