| 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/proxy/video_decoder_resource.h" | 5 #include "ppapi/proxy/video_decoder_resource.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "gpu/command_buffer/client/gles2_cmd_helper.h" | 8 #include "gpu/command_buffer/client/gles2_cmd_helper.h" |
| 9 #include "gpu/command_buffer/client/gles2_implementation.h" | 9 #include "gpu/command_buffer/client/gles2_implementation.h" |
| 10 #include "gpu/command_buffer/common/mailbox.h" | 10 #include "gpu/command_buffer/common/mailbox.h" |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 78 // Destroy any textures which haven't been dismissed. | 78 // Destroy any textures which haven't been dismissed. |
| 79 TextureMap::iterator it = textures_.begin(); | 79 TextureMap::iterator it = textures_.begin(); |
| 80 for (; it != textures_.end(); ++it) | 80 for (; it != textures_.end(); ++it) |
| 81 DeleteGLTexture(it->first); | 81 DeleteGLTexture(it->first); |
| 82 } | 82 } |
| 83 | 83 |
| 84 PPB_VideoDecoder_API* VideoDecoderResource::AsPPB_VideoDecoder_API() { | 84 PPB_VideoDecoder_API* VideoDecoderResource::AsPPB_VideoDecoder_API() { |
| 85 return this; | 85 return this; |
| 86 } | 86 } |
| 87 | 87 |
| 88 int32_t VideoDecoderResource::Initialize0_1( |
| 89 PP_Resource graphics_context, |
| 90 PP_VideoProfile profile, |
| 91 PP_Bool allow_software_fallback, |
| 92 scoped_refptr<TrackedCallback> callback) { |
| 93 return Initialize(graphics_context, |
| 94 profile, |
| 95 allow_software_fallback |
| 96 ? PP_HARDWAREACCELERATION_WITHFALLBACK |
| 97 : PP_HARDWAREACCELERATION_ONLY, |
| 98 callback); |
| 99 } |
| 100 |
| 88 int32_t VideoDecoderResource::Initialize( | 101 int32_t VideoDecoderResource::Initialize( |
| 89 PP_Resource graphics_context, | 102 PP_Resource graphics_context, |
| 90 PP_VideoProfile profile, | 103 PP_VideoProfile profile, |
| 91 PP_Bool allow_software_fallback, | 104 PP_HardwareAcceleration acceleration, |
| 92 scoped_refptr<TrackedCallback> callback) { | 105 scoped_refptr<TrackedCallback> callback) { |
| 93 if (initialized_) | 106 if (initialized_) |
| 94 return PP_ERROR_FAILED; | 107 return PP_ERROR_FAILED; |
| 95 if (profile < 0 || profile > PP_VIDEOPROFILE_MAX) | 108 if (profile < 0 || profile > PP_VIDEOPROFILE_MAX) |
| 96 return PP_ERROR_BADARGUMENT; | 109 return PP_ERROR_BADARGUMENT; |
| 97 if (initialize_callback_) | 110 if (initialize_callback_) |
| 98 return PP_ERROR_INPROGRESS; | 111 return PP_ERROR_INPROGRESS; |
| 99 if (!graphics_context) | 112 if (!graphics_context) |
| 100 return PP_ERROR_BADRESOURCE; | 113 return PP_ERROR_BADRESOURCE; |
| 101 | 114 |
| (...skipping 19 matching lines...) Expand all Loading... |
| 121 static_cast<PPB_Graphics3D_Shared*>(enter_graphics.object()); | 134 static_cast<PPB_Graphics3D_Shared*>(enter_graphics.object()); |
| 122 gles2_impl_ = ppb_graphics3d_shared->gles2_impl(); | 135 gles2_impl_ = ppb_graphics3d_shared->gles2_impl(); |
| 123 host_resource = ppb_graphics3d_shared->host_resource(); | 136 host_resource = ppb_graphics3d_shared->host_resource(); |
| 124 } | 137 } |
| 125 | 138 |
| 126 initialize_callback_ = callback; | 139 initialize_callback_ = callback; |
| 127 | 140 |
| 128 Call<PpapiPluginMsg_VideoDecoder_InitializeReply>( | 141 Call<PpapiPluginMsg_VideoDecoder_InitializeReply>( |
| 129 RENDERER, | 142 RENDERER, |
| 130 PpapiHostMsg_VideoDecoder_Initialize( | 143 PpapiHostMsg_VideoDecoder_Initialize( |
| 131 host_resource, profile, PP_ToBool(allow_software_fallback)), | 144 host_resource, profile, acceleration), |
| 132 base::Bind(&VideoDecoderResource::OnPluginMsgInitializeComplete, this)); | 145 base::Bind(&VideoDecoderResource::OnPluginMsgInitializeComplete, this)); |
| 133 | 146 |
| 134 return PP_OK_COMPLETIONPENDING; | 147 return PP_OK_COMPLETIONPENDING; |
| 135 } | 148 } |
| 136 | 149 |
| 137 int32_t VideoDecoderResource::Decode(uint32_t decode_id, | 150 int32_t VideoDecoderResource::Decode(uint32_t decode_id, |
| 138 uint32_t size, | 151 uint32_t size, |
| 139 const void* buffer, | 152 const void* buffer, |
| 140 scoped_refptr<TrackedCallback> callback) { | 153 scoped_refptr<TrackedCallback> callback) { |
| 141 if (decoder_last_error_) | 154 if (decoder_last_error_) |
| (...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 509 pp_picture->texture_target = it->second.texture_target; | 522 pp_picture->texture_target = it->second.texture_target; |
| 510 pp_picture->texture_size = it->second.size; | 523 pp_picture->texture_size = it->second.size; |
| 511 } else { | 524 } else { |
| 512 NOTREACHED(); | 525 NOTREACHED(); |
| 513 } | 526 } |
| 514 received_pictures_.pop(); | 527 received_pictures_.pop(); |
| 515 } | 528 } |
| 516 | 529 |
| 517 } // namespace proxy | 530 } // namespace proxy |
| 518 } // namespace ppapi | 531 } // namespace ppapi |
| OLD | NEW |