Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / ppapi / thunk / ppb_video_frame_api.h
1 // Copyright 2014 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.
4
5 #ifndef PPAPI_THUNK_PPB_VIDEO_FRAME_API_H_
6 #define PPAPI_THUNK_PPB_VIDEO_FRAME_API_H_
7
8 #include "ppapi/c/ppb_video_frame.h"
9 #include "ppapi/thunk/ppapi_thunk_export.h"
10
11 namespace ppapi {
12
13 union MediaStreamBuffer;
14
15 namespace thunk {
16
17 class PPAPI_THUNK_EXPORT PPB_VideoFrame_API {
18  public:
19   virtual ~PPB_VideoFrame_API() {}
20   virtual PP_TimeDelta GetTimestamp() = 0;
21   virtual void SetTimestamp(PP_TimeDelta timestamp) = 0;
22   virtual PP_VideoFrame_Format GetFormat() = 0;
23   virtual PP_Bool GetSize(PP_Size* size) = 0;
24   virtual void* GetDataBuffer() = 0;
25   virtual uint32_t GetDataBufferSize() = 0;
26
27   // Methods used by Pepper internal implementation only.
28   virtual MediaStreamBuffer* GetBuffer() = 0;
29   virtual int32_t GetBufferIndex() = 0;
30   virtual void Invalidate() = 0;
31 };
32
33 }  // namespace thunk
34 }  // namespace ppapi
35
36 #endif  // PPAPI_THUNK_PPB_VIDEO_FRAME_API_H_