Remove Observer methods in RTCVideoEncoderFactory.
[chromium-blink-merge.git] / ppapi / thunk / ppb_video_capture_api.h
blob2c0089e328c97ad7d76166a15d6d35e735770a68
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #ifndef PPAPI_THUNK_VIDEO_CAPTURE_API_H_
6 #define PPAPI_THUNK_VIDEO_CAPTURE_API_H_
8 #include <string>
9 #include <vector>
11 #include "base/memory/ref_counted.h"
12 #include "ppapi/c/dev/ppb_video_capture_dev.h"
13 #include "ppapi/c/pp_array_output.h"
14 #include "ppapi/c/pp_resource.h"
16 namespace ppapi {
18 class TrackedCallback;
20 namespace thunk {
22 class PPB_VideoCapture_API {
23 public:
24 virtual ~PPB_VideoCapture_API() {}
26 virtual int32_t EnumerateDevices(const PP_ArrayOutput& output,
27 scoped_refptr<TrackedCallback> callback) = 0;
28 virtual int32_t MonitorDeviceChange(PP_MonitorDeviceChangeCallback callback,
29 void* user_data) = 0;
30 virtual int32_t Open(const std::string& device_id,
31 const PP_VideoCaptureDeviceInfo_Dev& requested_info,
32 uint32_t buffer_count,
33 scoped_refptr<TrackedCallback> callback) = 0;
34 virtual int32_t StartCapture() = 0;
35 virtual int32_t ReuseBuffer(uint32_t buffer) = 0;
36 virtual int32_t StopCapture() = 0;
37 virtual void Close() = 0;
39 // This function is not exposed through the C API. It is only used by flash
40 // to make synchronous device enumeration.
41 virtual int32_t EnumerateDevicesSync(const PP_ArrayOutput& devices) = 0;
44 } // namespace thunk
45 } // namespace ppapi
47 #endif // PPAPI_THUNK_VIDEO_CAPTURE_API_H_