• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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:
~PPB_VideoDecoder_API()20   virtual ~PPB_VideoDecoder_API() {}
21 
22   virtual int32_t Initialize(PP_Resource context,
23                              PP_VideoProfile profile,
24                              PP_Bool allow_software_fallback,
25                              scoped_refptr<TrackedCallback> callback) = 0;
26   virtual int32_t Decode(uint32_t decode_id,
27                          uint32_t size,
28                          const void* buffer,
29                          scoped_refptr<TrackedCallback> callback) = 0;
30   virtual int32_t GetPicture(PP_VideoPicture* picture,
31                              scoped_refptr<TrackedCallback> callback) = 0;
32   virtual void RecyclePicture(const PP_VideoPicture* picture) = 0;
33   virtual int32_t Flush(scoped_refptr<TrackedCallback> callback) = 0;
34   virtual int32_t Reset(scoped_refptr<TrackedCallback> callback) = 0;
35 };
36 
37 }  // namespace thunk
38 }  // namespace ppapi
39 
40 #endif  // PPAPI_THUNK_PPB_VIDEO_DECODER_API_H_
41