blob: 44e062e1e2c4758d6f97a47c9b650d04e9a58b73 [file] [log] [blame]
[email protected]2d453af2014-01-10 03:15:161// 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
avie029c4132015-12-23 06:45:228#include <stdint.h>
9
[email protected]2d453af2014-01-10 03:15:1610#include "ppapi/c/ppb_video_frame.h"
11#include "ppapi/thunk/ppapi_thunk_export.h"
12
13namespace ppapi {
[email protected]03bf382f2014-01-16 05:49:5014
[email protected]a2c5dcd2014-02-08 03:20:1515union MediaStreamBuffer;
[email protected]03bf382f2014-01-16 05:49:5016
[email protected]2d453af2014-01-10 03:15:1617namespace thunk {
18
19class PPAPI_THUNK_EXPORT PPB_VideoFrame_API {
20 public:
21 virtual ~PPB_VideoFrame_API() {}
22 virtual PP_TimeDelta GetTimestamp() = 0;
23 virtual void SetTimestamp(PP_TimeDelta timestamp) = 0;
24 virtual PP_VideoFrame_Format GetFormat() = 0;
25 virtual PP_Bool GetSize(PP_Size* size) = 0;
26 virtual void* GetDataBuffer() = 0;
27 virtual uint32_t GetDataBufferSize() = 0;
[email protected]03bf382f2014-01-16 05:49:5028
[email protected]2b7a6d32014-02-06 02:50:2329 // Methods used by Pepper internal implementation only.
[email protected]a2c5dcd2014-02-08 03:20:1530 virtual MediaStreamBuffer* GetBuffer() = 0;
31 virtual int32_t GetBufferIndex() = 0;
[email protected]03bf382f2014-01-16 05:49:5032 virtual void Invalidate() = 0;
[email protected]2d453af2014-01-10 03:15:1633};
34
35} // namespace thunk
36} // namespace ppapi
37
38#endif // PPAPI_THUNK_PPB_VIDEO_FRAME_API_H_