Home | History | Annotate | Download | only in thunk
      1 // Copyright (c) 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_DECODER_API_H_
      6 #define PPAPI_THUNK_PPB_VIDEO_DECODER_API_H_
      7 
      8 #include "ppapi/c/pp_codecs.h"
      9 #include "ppapi/c/ppb_video_decoder.h"
     10 #include "ppapi/thunk/ppapi_thunk_export.h"
     11 
     12 namespace ppapi {
     13 
     14 class TrackedCallback;
     15 
     16 namespace thunk {
     17 
     18 class PPAPI_THUNK_EXPORT PPB_VideoDecoder_API {
     19  public:
     20   virtual ~PPB_VideoDecoder_API() {}
     21 
     22   virtual int32_t Initialize0_1(PP_Resource graphics3d_context,
     23                                 PP_VideoProfile profile,
     24                                 PP_Bool allow_software_fallback,
     25                                 scoped_refptr<TrackedCallback> callback) = 0;
     26   virtual int32_t Initialize(PP_Resource graphics3d_context,
     27                              PP_VideoProfile profile,
     28                              PP_HardwareAcceleration acceleration,
     29                              scoped_refptr<TrackedCallback> callback) = 0;
     30   virtual int32_t Decode(uint32_t decode_id,
     31                          uint32_t size,
     32                          const void* buffer,
     33                          scoped_refptr<TrackedCallback> callback) = 0;
     34   virtual int32_t GetPicture(PP_VideoPicture* picture,
     35                              scoped_refptr<TrackedCallback> callback) = 0;
     36   virtual void RecyclePicture(const PP_VideoPicture* picture) = 0;
     37   virtual int32_t Flush(scoped_refptr<TrackedCallback> callback) = 0;
     38   virtual int32_t Reset(scoped_refptr<TrackedCallback> callback) = 0;
     39 };
     40 
     41 }  // namespace thunk
     42 }  // namespace ppapi
     43 
     44 #endif  // PPAPI_THUNK_PPB_VIDEO_DECODER_API_H_
     45