ppb_video_frame_api.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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. #ifndef PPAPI_THUNK_PPB_VIDEO_FRAME_API_H_
  5. #define PPAPI_THUNK_PPB_VIDEO_FRAME_API_H_
  6. #include <stdint.h>
  7. #include "ppapi/c/ppb_video_frame.h"
  8. #include "ppapi/thunk/ppapi_thunk_export.h"
  9. namespace ppapi {
  10. union MediaStreamBuffer;
  11. namespace thunk {
  12. class PPAPI_THUNK_EXPORT PPB_VideoFrame_API {
  13. public:
  14. virtual ~PPB_VideoFrame_API() {}
  15. virtual PP_TimeDelta GetTimestamp() = 0;
  16. virtual void SetTimestamp(PP_TimeDelta timestamp) = 0;
  17. virtual PP_VideoFrame_Format GetFormat() = 0;
  18. virtual PP_Bool GetSize(PP_Size* size) = 0;
  19. virtual void* GetDataBuffer() = 0;
  20. virtual uint32_t GetDataBufferSize() = 0;
  21. // Methods used by Pepper internal implementation only.
  22. virtual MediaStreamBuffer* GetBuffer() = 0;
  23. virtual int32_t GetBufferIndex() = 0;
  24. virtual void Invalidate() = 0;
  25. };
  26. } // namespace thunk
  27. } // namespace ppapi
  28. #endif // PPAPI_THUNK_PPB_VIDEO_FRAME_API_H_