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

Unified Diff: ppapi/proxy/video_decoder_resource.cc

Issue 311853005: Implement software fallback for PPB_VideoDecoder. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Use WeakPtr to tie VideoDecoderProxy and Delegate. Created 6 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 side-by-side diff with in-line comments
Download patch
Index: ppapi/proxy/video_decoder_resource.cc
diff --git a/ppapi/proxy/video_decoder_resource.cc b/ppapi/proxy/video_decoder_resource.cc
index 95365e8bba8e67e29c9834a7d0c118ef122067ae..39540292cf3cc15c58f82830003cec6a75bb70e5 100644
--- a/ppapi/proxy/video_decoder_resource.cc
+++ b/ppapi/proxy/video_decoder_resource.cc
@@ -7,6 +7,7 @@
#include "base/bind.h"
#include "gpu/command_buffer/client/gles2_cmd_helper.h"
#include "gpu/command_buffer/client/gles2_implementation.h"
+#include "gpu/command_buffer/common/mailbox.h"
#include "ipc/ipc_message.h"
#include "ppapi/c/pp_errors.h"
#include "ppapi/c/ppb_opengles2.h"
@@ -332,8 +333,10 @@ void VideoDecoderResource::OnPluginMsgRequestTextures(
const ResourceMessageReplyParams& params,
uint32_t num_textures,
const PP_Size& size,
- uint32_t texture_target) {
+ uint32_t texture_target,
+ const std::vector<gpu::Mailbox>& mailboxes) {
DCHECK(num_textures);
+ DCHECK(!mailboxes.size() || mailboxes.size() == num_textures);
dmichael (off chromium) 2014/06/05 23:00:44 !mailboxes.size() -> mailboxes.empty()
bbudge 2014/06/06 02:03:46 Done.
std::vector<uint32_t> texture_ids(num_textures);
if (gles2_impl_) {
gles2_impl_->GenTextures(num_textures, &texture_ids.front());
@@ -360,6 +363,8 @@ void VideoDecoderResource::OnPluginMsgRequestTextures(
GL_UNSIGNED_BYTE,
NULL);
}
+ if (!mailboxes.empty())
+ gles2_impl_->ProduceTextureCHROMIUM(GL_TEXTURE_2D, mailboxes[i].name);
textures_.insert(
std::make_pair(texture_ids[i], Texture(texture_target, size)));

Powered by Google App Engine
This is Rietveld 408576698