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 11namespace ppapi { 12 13union MediaStreamBuffer; 14 15namespace thunk { 16 17class 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_ 37