| Index: ppapi/cpp/dev/video_capture_dev.h
|
| diff --git a/ppapi/cpp/dev/video_capture_dev.h b/ppapi/cpp/dev/video_capture_dev.h
|
| index 16c9d2bf5a0beec26d0386d01919fc84e45bc3e2..1760cf745cf7ea19f45f8825472e978d442f0b9a 100644
|
| --- a/ppapi/cpp/dev/video_capture_dev.h
|
| +++ b/ppapi/cpp/dev/video_capture_dev.h
|
| @@ -1,15 +1,19 @@
|
| -// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| #ifndef PPAPI_CPP_DEV_VIDEO_CAPTURE_DEV_H_
|
| #define PPAPI_CPP_DEV_VIDEO_CAPTURE_DEV_H_
|
|
|
| +#include <vector>
|
| +
|
| #include "ppapi/c/dev/pp_video_capture_dev.h"
|
| #include "ppapi/cpp/resource.h"
|
|
|
| namespace pp {
|
|
|
| +class CompletionCallback;
|
| +class DeviceRef_Dev;
|
| class Instance;
|
|
|
| class VideoCapture_Dev : public Resource {
|
| @@ -18,13 +22,37 @@ class VideoCapture_Dev : public Resource {
|
| VideoCapture_Dev(PP_Resource resource);
|
| VideoCapture_Dev(const VideoCapture_Dev& other);
|
|
|
| + virtual ~VideoCapture_Dev();
|
| +
|
| + VideoCapture_Dev& operator=(const VideoCapture_Dev& other);
|
| +
|
| // Returns true if the required interface is available.
|
| static bool IsAvailable();
|
|
|
| - int32_t StartCapture(const PP_VideoCaptureDeviceInfo_Dev& requested_info,
|
| - uint32_t buffer_count);
|
| + // |devices| must stay alive until either this VideoCapture_Dev object goes
|
| + // away or |callback| is run.
|
| + int32_t EnumerateDevices(std::vector<DeviceRef_Dev>* devices,
|
| + const CompletionCallback& callback);
|
| + int32_t Open(const DeviceRef_Dev& device_ref,
|
| + const PP_VideoCaptureDeviceInfo_Dev& requested_info,
|
| + uint32_t buffer_count,
|
| + const CompletionCallback& callback);
|
| + int32_t StartCapture();
|
| int32_t ReuseBuffer(uint32_t buffer);
|
| int32_t StopCapture();
|
| + void Close();
|
| +
|
| + private:
|
| + struct EnumerateDevicesState;
|
| +
|
| + void AbortEnumerateDevices();
|
| +
|
| + // |user_data| is an EnumerateDevicesState object. It is this method's
|
| + // responsibility to delete it.
|
| + static void OnEnumerateDevicesComplete(void* user_data, int32_t result);
|
| +
|
| + // Not owned by this object.
|
| + EnumerateDevicesState* enum_state_;
|
| };
|
|
|
| } // namespace pp
|
|
|