OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "ppapi/c/pp_errors.h" | 5 #include "ppapi/c/pp_errors.h" |
6 #include "ppapi/shared_impl/tracked_callback.h" | 6 #include "ppapi/shared_impl/tracked_callback.h" |
7 #include "ppapi/thunk/enter.h" | 7 #include "ppapi/thunk/enter.h" |
| 8 #include "ppapi/thunk/ppb_video_decoder_dev_api.h" |
| 9 #include "ppapi/thunk/resource_creation_api.h" |
8 #include "ppapi/thunk/thunk.h" | 10 #include "ppapi/thunk/thunk.h" |
9 #include "ppapi/thunk/ppb_video_decoder_api.h" | |
10 #include "ppapi/thunk/resource_creation_api.h" | |
11 | 11 |
12 namespace ppapi { | 12 namespace ppapi { |
13 namespace thunk { | 13 namespace thunk { |
14 | 14 |
15 namespace { | 15 namespace { |
16 | 16 |
17 typedef EnterResource<PPB_VideoDecoder_API> EnterVideoDecoder; | 17 typedef EnterResource<PPB_VideoDecoder_Dev_API> EnterVideoDecoder; |
18 | 18 |
19 PP_Resource Create(PP_Instance instance, | 19 PP_Resource Create(PP_Instance instance, |
20 PP_Resource graphics_3d, | 20 PP_Resource graphics_3d, |
21 PP_VideoDecoder_Profile profile) { | 21 PP_VideoDecoder_Profile profile) { |
22 EnterResourceCreation enter(instance); | 22 EnterResourceCreation enter(instance); |
23 if (enter.failed()) | 23 if (enter.failed()) |
24 return 0; | 24 return 0; |
25 return enter.functions()->CreateVideoDecoder(instance, graphics_3d, profile); | 25 return enter.functions()->CreateVideoDecoderDev( |
| 26 instance, graphics_3d, profile); |
26 } | 27 } |
27 | 28 |
28 PP_Bool IsVideoDecoder(PP_Resource resource) { | 29 PP_Bool IsVideoDecoder(PP_Resource resource) { |
29 EnterVideoDecoder enter(resource, false); | 30 EnterVideoDecoder enter(resource, false); |
30 return PP_FromBool(enter.succeeded()); | 31 return PP_FromBool(enter.succeeded()); |
31 } | 32 } |
32 | 33 |
33 int32_t Decode(PP_Resource video_decoder, | 34 int32_t Decode(PP_Resource video_decoder, |
34 const PP_VideoBitstreamBuffer_Dev* bitstream_buffer, | 35 const PP_VideoBitstreamBuffer_Dev* bitstream_buffer, |
35 PP_CompletionCallback callback) { | 36 PP_CompletionCallback callback) { |
36 EnterVideoDecoder enter(video_decoder, callback, true); | 37 EnterVideoDecoder enter(video_decoder, callback, true); |
37 if (enter.failed()) | 38 if (enter.failed()) |
38 return enter.retval(); | 39 return enter.retval(); |
39 return enter.SetResult(enter.object()->Decode(bitstream_buffer, | 40 return enter.SetResult( |
40 enter.callback())); | 41 enter.object()->Decode(bitstream_buffer, enter.callback())); |
41 } | 42 } |
42 | 43 |
43 void AssignPictureBuffers(PP_Resource video_decoder, | 44 void AssignPictureBuffers(PP_Resource video_decoder, |
44 uint32_t no_of_buffers, | 45 uint32_t no_of_buffers, |
45 const PP_PictureBuffer_Dev* buffers) { | 46 const PP_PictureBuffer_Dev* buffers) { |
46 EnterVideoDecoder enter(video_decoder, true); | 47 EnterVideoDecoder enter(video_decoder, true); |
47 if (enter.succeeded()) | 48 if (enter.succeeded()) |
48 enter.object()->AssignPictureBuffers(no_of_buffers, buffers); | 49 enter.object()->AssignPictureBuffers(no_of_buffers, buffers); |
49 } | 50 } |
50 | 51 |
51 void ReusePictureBuffer(PP_Resource video_decoder, int32_t picture_buffer_id) { | 52 void ReusePictureBuffer(PP_Resource video_decoder, int32_t picture_buffer_id) { |
52 EnterVideoDecoder enter(video_decoder, true); | 53 EnterVideoDecoder enter(video_decoder, true); |
53 if (enter.succeeded()) | 54 if (enter.succeeded()) |
54 enter.object()->ReusePictureBuffer(picture_buffer_id); | 55 enter.object()->ReusePictureBuffer(picture_buffer_id); |
55 } | 56 } |
56 | 57 |
57 int32_t Flush(PP_Resource video_decoder, PP_CompletionCallback callback) { | 58 int32_t Flush(PP_Resource video_decoder, PP_CompletionCallback callback) { |
58 EnterVideoDecoder enter(video_decoder, callback, true); | 59 EnterVideoDecoder enter(video_decoder, callback, true); |
59 if (enter.failed()) | 60 if (enter.failed()) |
60 return enter.retval(); | 61 return enter.retval(); |
61 return enter.SetResult(enter.object()->Flush(enter.callback())); | 62 return enter.SetResult(enter.object()->Flush(enter.callback())); |
62 } | 63 } |
63 | 64 |
64 int32_t Reset(PP_Resource video_decoder, | 65 int32_t Reset(PP_Resource video_decoder, PP_CompletionCallback callback) { |
65 PP_CompletionCallback callback) { | |
66 EnterVideoDecoder enter(video_decoder, callback, true); | 66 EnterVideoDecoder enter(video_decoder, callback, true); |
67 if (enter.failed()) | 67 if (enter.failed()) |
68 return enter.retval(); | 68 return enter.retval(); |
69 return enter.SetResult(enter.object()->Reset(enter.callback())); | 69 return enter.SetResult(enter.object()->Reset(enter.callback())); |
70 } | 70 } |
71 | 71 |
72 void Destroy(PP_Resource video_decoder) { | 72 void Destroy(PP_Resource video_decoder) { |
73 EnterVideoDecoder enter(video_decoder, true); | 73 EnterVideoDecoder enter(video_decoder, true); |
74 if (enter.succeeded()) | 74 if (enter.succeeded()) |
75 enter.object()->Destroy(); | 75 enter.object()->Destroy(); |
76 } | 76 } |
77 | 77 |
78 const PPB_VideoDecoder_Dev g_ppb_videodecoder_thunk = { | 78 const PPB_VideoDecoder_Dev g_ppb_videodecoder_dev_thunk = { |
79 &Create, | 79 &Create, |
80 &IsVideoDecoder, | 80 &IsVideoDecoder, |
81 &Decode, | 81 &Decode, |
82 &AssignPictureBuffers, | 82 &AssignPictureBuffers, |
83 &ReusePictureBuffer, | 83 &ReusePictureBuffer, |
84 &Flush, | 84 &Flush, |
85 &Reset, | 85 &Reset, |
86 &Destroy | 86 &Destroy |
87 }; | 87 }; |
88 | 88 |
89 } // namespace | 89 } // namespace |
90 | 90 |
91 const PPB_VideoDecoder_Dev_0_16* GetPPB_VideoDecoder_Dev_0_16_Thunk() { | 91 const PPB_VideoDecoder_Dev_0_16* GetPPB_VideoDecoder_Dev_0_16_Thunk() { |
92 return &g_ppb_videodecoder_thunk; | 92 return &g_ppb_videodecoder_dev_thunk; |
93 } | 93 } |
94 | 94 |
95 } // namespace thunk | 95 } // namespace thunk |
96 } // namespace ppapi | 96 } // namespace ppapi |
OLD | NEW |