Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(567)

Unified Diff: ppapi/c/dev/ppb_video_capture_dev.h

Issue 9234064: Implement device enumeration for PPB_VideoCapture_Dev. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Real change. The first patch set is actually 8480028 patch set 10. Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ppapi/c/dev/ppb_video_capture_dev.h
diff --git a/ppapi/c/dev/ppb_video_capture_dev.h b/ppapi/c/dev/ppb_video_capture_dev.h
index 396879c5777484656a778fb216ebe63db7955ce3..3c35d507ad134a97e062d6117831dae869aada59 100644
--- a/ppapi/c/dev/ppb_video_capture_dev.h
+++ b/ppapi/c/dev/ppb_video_capture_dev.h
@@ -3,20 +3,22 @@
* found in the LICENSE file.
*/
-/* From dev/ppb_video_capture_dev.idl modified Tue Oct 11 10:01:39 2011. */
+/* From dev/ppb_video_capture_dev.idl modified Thu Jan 26 11:39:48 2012. */
#ifndef PPAPI_C_DEV_PPB_VIDEO_CAPTURE_DEV_H_
#define PPAPI_C_DEV_PPB_VIDEO_CAPTURE_DEV_H_
#include "ppapi/c/dev/pp_video_capture_dev.h"
#include "ppapi/c/pp_bool.h"
+#include "ppapi/c/pp_completion_callback.h"
#include "ppapi/c/pp_instance.h"
#include "ppapi/c/pp_macros.h"
#include "ppapi/c/pp_resource.h"
#include "ppapi/c/pp_stdint.h"
#define PPB_VIDEOCAPTURE_DEV_INTERFACE_0_1 "PPB_VideoCapture(Dev);0.1"
-#define PPB_VIDEOCAPTURE_DEV_INTERFACE PPB_VIDEOCAPTURE_DEV_INTERFACE_0_1
+#define PPB_VIDEOCAPTURE_DEV_INTERFACE_0_2 "PPB_VideoCapture(Dev);0.2"
+#define PPB_VIDEOCAPTURE_DEV_INTERFACE PPB_VIDEOCAPTURE_DEV_INTERFACE_0_2
/**
* @file
@@ -53,7 +55,7 @@
* 4:2:0, one byte per pixel, tightly packed (width x height Y values, then
* width/2 x height/2 U values, then width/2 x height/2 V values).
*/
-struct PPB_VideoCapture_Dev_0_1 {
+struct PPB_VideoCapture_Dev_0_2 {
/**
* Creates a new VideoCapture.
*/
@@ -63,20 +65,35 @@ struct PPB_VideoCapture_Dev_0_1 {
*/
PP_Bool (*IsVideoCapture)(PP_Resource video_capture);
/**
- * Starts the capture. |requested_info| is a pointer to a structure containing
- * the requested resolution and frame rate. |buffer_count| is the number of
- * buffers requested by the plugin. Note: it is only used as advisory, the
- * browser may allocate more of fewer based on available resources.
- * How many buffers depends on usage. At least 2 to make sure latency doesn't
- * cause lost frames. If the plugin expects to hold on to more than one buffer
- * at a time (e.g. to do multi-frame processing, like video encoding), it
- * should request that many more.
+ * Enumerates video capture devices. Once the operation is completed
+ * successfully. |GetDevices()| can be used to retrieve the devices.
+ */
+ int32_t (*EnumerateDevices)(PP_Resource video_capture,
+ struct PP_CompletionCallback callback);
+ /**
+ * Gets video capture devices. The returned value is a PPB_ResourceArray_Dev
+ * resource if successful, which holds a list of PPB_DeviceRef_Dev resources.
+ */
+ PP_Resource (*GetDevices)(PP_Resource video_capture);
+ /**
+ * Starts the capture. |device_ref| identifies a video capture device. It
+ * could be one of the resource in the array returned by |GetDevices()|, or 0
+ * which means the default device.
+ * |requested_info| is a pointer to a structure containing the requested
+ * resolution and frame rate. |buffer_count| is the number of buffers
+ * requested by the plugin. Note: it is only used as advisory, the browser may
+ * allocate more or fewer based on available resources. How many buffers
+ * depends on usage. At least 2 to make sure latency doesn't cause lost
+ * frames. If the plugin expects to hold on to more than one buffer at a time
+ * (e.g. to do multi-frame processing, like video encoding), it should request
+ * that many more.
*
* Returns PP_ERROR_FAILED if called when the capture was already started, or
* PP_OK on success.
*/
int32_t (*StartCapture)(
PP_Resource video_capture,
+ PP_Resource device_ref,
const struct PP_VideoCaptureDeviceInfo_Dev* requested_info,
uint32_t buffer_count);
/**
@@ -98,7 +115,18 @@ struct PPB_VideoCapture_Dev_0_1 {
int32_t (*StopCapture)(PP_Resource video_capture);
};
-typedef struct PPB_VideoCapture_Dev_0_1 PPB_VideoCapture_Dev;
+typedef struct PPB_VideoCapture_Dev_0_2 PPB_VideoCapture_Dev;
+
+struct PPB_VideoCapture_Dev_0_1 {
+ PP_Resource (*Create)(PP_Instance instance);
+ PP_Bool (*IsVideoCapture)(PP_Resource video_capture);
+ int32_t (*StartCapture)(
+ PP_Resource video_capture,
+ const struct PP_VideoCaptureDeviceInfo_Dev* requested_info,
+ uint32_t buffer_count);
+ int32_t (*ReuseBuffer)(PP_Resource video_capture, uint32_t buffer);
+ int32_t (*StopCapture)(PP_Resource video_capture);
+};
/**
* @}
*/

Powered by Google App Engine
This is Rietveld 408576698