Index: media/video/capture/video_capture_types.h |
diff --git a/media/video/capture/video_capture_types.h b/media/video/capture/video_capture_types.h |
index 489befe8143b82847c035bda2586d91d1f2bb8fd..d06c1b42290251589bad226d7c63b8df35f7d7d3 100644 |
--- a/media/video/capture/video_capture_types.h |
+++ b/media/video/capture/video_capture_types.h |
@@ -5,7 +5,10 @@ |
#ifndef MEDIA_VIDEO_CAPTURE_VIDEO_CAPTURE_TYPES_H_ |
#define MEDIA_VIDEO_CAPTURE_VIDEO_CAPTURE_TYPES_H_ |
-#include "media/base/video_frame.h" |
+#include <vector> |
+ |
+#include "media/base/media_export.h" |
+#include "ui/gfx/size.h" |
namespace media { |
@@ -13,12 +16,6 @@ namespace media { |
// shared with device manager. |
typedef int VideoCaptureSessionId; |
-enum VideoCaptureResolutionType { |
- ConstantResolutionVideoCaptureDevice = 0, |
- VariableResolutionVideoCaptureDevice, |
- MaxVideoCaptureResolutionType, // Must be last. |
-}; |
- |
// Color formats from camera. |
enum VideoPixelFormat { |
PIXEL_FORMAT_UNKNOWN, // Color format not set. |
@@ -30,49 +27,52 @@ enum VideoPixelFormat { |
PIXEL_FORMAT_MJPEG, |
PIXEL_FORMAT_NV21, |
PIXEL_FORMAT_YV12, |
+ PIXEL_FORMAT_MAX, |
}; |
// Video capture format specification. |
+// This class is used by the video capture device to specify the format of every |
+// frame captured and returned to a client. |
class MEDIA_EXPORT VideoCaptureFormat { |
public: |
VideoCaptureFormat(); |
- VideoCaptureFormat(int width, |
- int height, |
+ VideoCaptureFormat(const gfx::Size& frame_size, |
int frame_rate, |
- VideoCaptureResolutionType frame_size_type); |
+ VideoPixelFormat pixel_format); |
// Checks that all values are in the expected range. All limits are specified |
// in media::Limits. |
bool IsValid() const; |
- int width; |
- int height; |
+ gfx::Size frame_size; |
int frame_rate; |
- VideoCaptureResolutionType frame_size_type; |
+ VideoPixelFormat pixel_format; |
}; |
// Parameters for starting video capture. |
+// This class is used by the client of a video capture device to specify the |
+// format of frames in which the client would like to have captured frames |
+// returned. |
class MEDIA_EXPORT VideoCaptureParams { |
public: |
VideoCaptureParams(); |
- // Identifies which device is to be started. |
- VideoCaptureSessionId session_id; |
// Requests a resolution and format at which the capture will occur. |
VideoCaptureFormat requested_format; |
+ |
+ // Allow mid-capture resolution change. |
+ bool allow_resolution_change; |
}; |
// Capabilities describe the format a camera captures video in. |
-class MEDIA_EXPORT VideoCaptureCapability : public VideoCaptureFormat { |
+// This class is used by the video capture device to report the formats in which |
+// it is capable of capturing frames. |
+class MEDIA_EXPORT VideoCaptureCapability { |
public: |
VideoCaptureCapability(); |
- VideoCaptureCapability(int width, |
- int height, |
- int frame_rate, |
- VideoPixelFormat color, |
- VideoCaptureResolutionType frame_size_type); |
- VideoPixelFormat color; // Desired video type. |
+ // Supported resolution and format. |
+ VideoCaptureFormat supported_format; |
}; |
typedef std::vector<VideoCaptureCapability> VideoCaptureCapabilities; |