Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(10)

Side by Side Diff: webkit/plugins/ppapi/ppb_video_decoder_impl.cc

Issue 6899055: PPAPI: Force async callback invocation option. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 "webkit/plugins/ppapi/ppb_video_decoder_impl.h" 5 #include "webkit/plugins/ppapi/ppb_video_decoder_impl.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "media/video/picture.h" 10 #include "media/video/picture.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 PPB_VideoDecoder_Impl* decoder = new PPB_VideoDecoder_Impl(instance); 52 PPB_VideoDecoder_Impl* decoder = new PPB_VideoDecoder_Impl(instance);
53 return decoder->GetReference(); 53 return decoder->GetReference();
54 } 54 }
55 55
56 int32_t Initialize(PP_Resource video_decoder, 56 int32_t Initialize(PP_Resource video_decoder,
57 const PP_VideoConfigElement* decoder_config, 57 const PP_VideoConfigElement* decoder_config,
58 struct PP_CompletionCallback callback) { 58 struct PP_CompletionCallback callback) {
59 scoped_refptr<PPB_VideoDecoder_Impl> decoder( 59 scoped_refptr<PPB_VideoDecoder_Impl> decoder(
60 Resource::GetAs<PPB_VideoDecoder_Impl>(video_decoder)); 60 Resource::GetAs<PPB_VideoDecoder_Impl>(video_decoder));
61 if (!decoder) 61 if (!decoder)
62 return PP_ERROR_BADRESOURCE; 62 return MayForceCallback(callback, PP_ERROR_BADRESOURCE);
63 63
64 return decoder->Initialize(decoder_config, callback); 64 int32_t result =decoder->Initialize(decoder_config, callback);
piman 2011/06/07 17:32:14 nit: space after =
polina 2011/06/09 23:53:51 Done.
65 return MayForceCallback(callback, result);
65 } 66 }
66 67
67 PP_Bool IsVideoDecoder(PP_Resource resource) { 68 PP_Bool IsVideoDecoder(PP_Resource resource) {
68 return BoolToPPBool(!!Resource::GetAs<PPB_VideoDecoder_Impl>(resource)); 69 return BoolToPPBool(!!Resource::GetAs<PPB_VideoDecoder_Impl>(resource));
69 } 70 }
70 71
71 int32_t Decode(PP_Resource decoder_id, 72 int32_t Decode(PP_Resource decoder_id,
72 const PP_VideoBitstreamBuffer_Dev* bitstream_buffer, 73 const PP_VideoBitstreamBuffer_Dev* bitstream_buffer,
73 PP_CompletionCallback callback) { 74 PP_CompletionCallback callback) {
74 scoped_refptr<PPB_VideoDecoder_Impl> decoder( 75 scoped_refptr<PPB_VideoDecoder_Impl> decoder(
75 Resource::GetAs<PPB_VideoDecoder_Impl>(decoder_id)); 76 Resource::GetAs<PPB_VideoDecoder_Impl>(decoder_id));
76 if (!decoder) 77 if (!decoder)
77 return PP_ERROR_BADRESOURCE; 78 return MayForceCallback(callback, PP_ERROR_BADRESOURCE);
78 79
79 return decoder->Decode(bitstream_buffer, callback); 80 int32_t result = decoder->Decode(bitstream_buffer, callback);
81 return MayForceCallback(callback, result);
80 } 82 }
81 83
82 void AssignGLESBuffers(PP_Resource video_decoder, 84 void AssignGLESBuffers(PP_Resource video_decoder,
83 uint32_t no_of_buffers, 85 uint32_t no_of_buffers,
84 const PP_GLESBuffer_Dev* buffers) { 86 const PP_GLESBuffer_Dev* buffers) {
85 scoped_refptr<PPB_VideoDecoder_Impl> decoder( 87 scoped_refptr<PPB_VideoDecoder_Impl> decoder(
86 Resource::GetAs<PPB_VideoDecoder_Impl>(video_decoder)); 88 Resource::GetAs<PPB_VideoDecoder_Impl>(video_decoder));
87 if (!decoder) 89 if (!decoder)
88 return; 90 return;
89 91
(...skipping 17 matching lines...) Expand all
107 if (!decoder) 109 if (!decoder)
108 return; 110 return;
109 111
110 decoder->ReusePictureBuffer(picture_buffer_id); 112 decoder->ReusePictureBuffer(picture_buffer_id);
111 } 113 }
112 114
113 int32_t Flush(PP_Resource video_decoder, PP_CompletionCallback callback) { 115 int32_t Flush(PP_Resource video_decoder, PP_CompletionCallback callback) {
114 scoped_refptr<PPB_VideoDecoder_Impl> decoder( 116 scoped_refptr<PPB_VideoDecoder_Impl> decoder(
115 Resource::GetAs<PPB_VideoDecoder_Impl>(video_decoder)); 117 Resource::GetAs<PPB_VideoDecoder_Impl>(video_decoder));
116 if (!decoder) 118 if (!decoder)
117 return PP_ERROR_BADRESOURCE; 119 return MayForceCallback(callback, PP_ERROR_BADRESOURCE);
118 120
119 return decoder->Flush(callback); 121 return MayForceCallback(callback, decoder->Flush(callback));
120 } 122 }
121 123
122 int32_t Abort(PP_Resource video_decoder, 124 int32_t Abort(PP_Resource video_decoder,
123 PP_CompletionCallback callback) { 125 PP_CompletionCallback callback) {
124 scoped_refptr<PPB_VideoDecoder_Impl> decoder( 126 scoped_refptr<PPB_VideoDecoder_Impl> decoder(
125 Resource::GetAs<PPB_VideoDecoder_Impl>(video_decoder)); 127 Resource::GetAs<PPB_VideoDecoder_Impl>(video_decoder));
126 if (!decoder) 128 if (!decoder)
127 return PP_ERROR_BADRESOURCE; 129 return MayForceCallback(callback, PP_ERROR_BADRESOURCE);
128 130
129 return decoder->Abort(callback); 131 return MayForceCallback(callback, decoder->Abort(callback));
130 } 132 }
131 133
132 const PPB_VideoDecoder_Dev ppb_videodecoder = { 134 const PPB_VideoDecoder_Dev ppb_videodecoder = {
133 &GetConfigs, 135 &GetConfigs,
134 &Create, 136 &Create,
135 &Initialize, 137 &Initialize,
136 &IsVideoDecoder, 138 &IsVideoDecoder,
137 &Decode, 139 &Decode,
138 &AssignGLESBuffers, 140 &AssignGLESBuffers,
139 &AssignSysmemBuffers, 141 &AssignSysmemBuffers,
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 } 455 }
454 456
455 Picture::Picture(const PP_Picture_Dev& picture) 457 Picture::Picture(const PP_Picture_Dev& picture)
456 : picture_buffer_id_(picture.picture_buffer_id), 458 : picture_buffer_id_(picture.picture_buffer_id),
457 bitstream_buffer_id_(picture.bitstream_buffer_id), 459 bitstream_buffer_id_(picture.bitstream_buffer_id),
458 visible_size_(picture.visible_size.width, picture.visible_size.height), 460 visible_size_(picture.visible_size.width, picture.visible_size.height),
459 decoded_size_(picture.decoded_size.width, picture.decoded_size.height) { 461 decoded_size_(picture.decoded_size.width, picture.decoded_size.height) {
460 } 462 }
461 463
462 } // namespace media 464 } // namespace media
OLDNEW
« webkit/plugins/ppapi/common.h ('K') | « webkit/plugins/ppapi/ppb_url_loader_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698