Index: media/capture/video/mac/video_capture_device_avfoundation_mac.h |
diff --git a/media/capture/video/mac/video_capture_device_avfoundation_mac.h b/media/capture/video/mac/video_capture_device_avfoundation_mac.h |
index 8198bcd3a9e34ffddcfa4fa91fd32598e87e0b62..69082e7aac0d7f9af2d3a4b8963313e1f241c73c 100644 |
--- a/media/capture/video/mac/video_capture_device_avfoundation_mac.h |
+++ b/media/capture/video/mac/video_capture_device_avfoundation_mac.h |
@@ -21,8 +21,9 @@ class VideoCaptureDeviceMac; |
@class CrAVCaptureDevice; |
@class CrAVCaptureSession; |
@class CrAVCaptureVideoDataOutput; |
+@class CrAVCaptureStillImageOutput; |
-// Class used by VideoCaptureDeviceMac (VCDM) for video capture using |
+// Class used by VideoCaptureDeviceMac (VCDM) for video and image capture using |
// AVFoundation API. This class lives inside the thread created by its owner |
// VCDM. |
// |
@@ -62,7 +63,7 @@ class VideoCaptureDeviceMac; |
int frameHeight_; |
float frameRate_; |
- base::Lock lock_; // Protects concurrent setting and using of frameReceiver_. |
+ base::Lock lock_; // Protects concurrent setting and using |frameReceiver_|. |
media::VideoCaptureDeviceMac* frameReceiver_; // weak. |
base::scoped_nsobject<CrAVCaptureSession> captureSession_; |
@@ -74,6 +75,9 @@ class VideoCaptureDeviceMac; |
CrAVCaptureDeviceInput* captureDeviceInput_; |
base::scoped_nsobject<CrAVCaptureVideoDataOutput> captureVideoDataOutput_; |
+ // An AVDataOutput specialized for taking pictures out of |captureSession_|. |
+ base::scoped_nsobject<CrAVCaptureStillImageOutput> stillImageOutput_; |
+ |
base::ThreadChecker main_thread_checker_; |
} |
@@ -114,6 +118,10 @@ class VideoCaptureDeviceMac; |
// Stops video capturing and stops listening to notifications. |
- (void)stopCapture; |
+// Takes a photo. This method should only be called between -startCapture and |
+// -stopCapture. |
+- (void)takePhoto; |
+ |
@end |
#endif // MEDIA_CAPTURE_VIDEO_MAC_VIDEO_CAPTURE_DEVICE_AVFOUNDATION_MAC_H_ |