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: ~PPB_VideoFrame_API()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