Home | History | Annotate | Download | only in thunk
      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_
     37