185e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan// Copyright (c) 2011 The Chromium Authors. All rights reserved. 285e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan// Use of this source code is governed by a BSD-style license that can be 385e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan// found in the LICENSE file. 485e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan 585e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan#ifndef PPAPI_CPP_DEV_VIDEO_CAPTURE_CLIENT_DEV_H_ 685e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan#define PPAPI_CPP_DEV_VIDEO_CAPTURE_CLIENT_DEV_H_ 785e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan 885e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan#include <vector> 985e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan 1085e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan#include "ppapi/c/dev/pp_video_capture_dev.h" 1185e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan#include "ppapi/cpp/dev/buffer_dev.h" 1285e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan#include "ppapi/cpp/instance_handle.h" 1385e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan#include "ppapi/cpp/resource.h" 1485e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan 1585e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wannamespace pp { 1685e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan 1785e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wanclass Instance; 1885e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan 1985e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wanclass VideoCaptureClient_Dev { 2085e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan public: 2185e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan explicit VideoCaptureClient_Dev(Instance* instance); 2285e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan virtual ~VideoCaptureClient_Dev(); 2385e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan 2485e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan virtual void OnDeviceInfo(PP_Resource video_capture, 2585e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan const PP_VideoCaptureDeviceInfo_Dev& info, 2685e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan const std::vector<Buffer_Dev>& buffers) = 0; 2785e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan virtual void OnStatus(PP_Resource video_capture, uint32_t status) = 0; 2885e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan virtual void OnError(PP_Resource video_capture, uint32_t error) = 0; 2985e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan virtual void OnBufferReady(PP_Resource video_capture, uint32_t buffer) = 0; 3085e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan 3185e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan private: 3285e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan InstanceHandle instance_; 3385e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan}; 3485e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan 3585e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan} // namespace pp 3685e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan 3785e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan#endif // PPAPI_CPP_DEV_VIDEO_CAPTURE_CLIENT_DEV_H_ 3885e2abe9c5c58a76688af1a73d317b58ba39fd38zhanyong.wan