Index: content/common/gpu/media/vaapi_video_decode_accelerator.cc |
diff --git a/content/common/gpu/media/vaapi_video_decode_accelerator.cc b/content/common/gpu/media/vaapi_video_decode_accelerator.cc |
index b5f2b908f993e6cbcafca7b12a3edb93af25cb49..22de1e2e87a3927b6d7a038b876c8363c42018b7 100644 |
--- a/content/common/gpu/media/vaapi_video_decode_accelerator.cc |
+++ b/content/common/gpu/media/vaapi_video_decode_accelerator.cc |
@@ -12,6 +12,7 @@ |
#include "content/common/gpu/gpu_channel.h" |
#include "content/common/gpu/media/vaapi_picture.h" |
#include "content/common/gpu/media/vaapi_video_decode_accelerator.h" |
+#include "gpu/command_buffer/service/texture_manager.h" |
#include "media/base/bind_to_current_loop.h" |
#include "media/video/picture.h" |
#include "ui/gl/gl_bindings.h" |
@@ -72,7 +73,8 @@ VaapiPicture* VaapiVideoDecodeAccelerator::PictureById( |
} |
VaapiVideoDecodeAccelerator::VaapiVideoDecodeAccelerator( |
- const base::Callback<bool(void)>& make_context_current) |
+ const base::Callback<bool(void)>& make_context_current, |
+ gpu::gles2::TextureManager* texture_manager) |
: make_context_current_(make_context_current), |
state_(kUninitialized), |
input_ready_(&lock_), |
@@ -84,6 +86,7 @@ VaapiVideoDecodeAccelerator::VaapiVideoDecodeAccelerator( |
finish_flush_pending_(false), |
awaiting_va_surfaces_recycle_(false), |
requested_num_pics_(0), |
+ texture_manager_(texture_manager), |
weak_this_factory_(this) { |
weak_this_ = weak_this_factory_.GetWeakPtr(); |
va_surface_release_cb_ = media::BindToCurrentLoop( |
@@ -523,8 +526,10 @@ void VaapiVideoDecodeAccelerator::AssignPictureBuffers( |
<< " VASurfaceID: " << va_surface_ids[i]; |
linked_ptr<VaapiPicture> picture(VaapiPicture::CreatePicture( |
- vaapi_wrapper_.get(), make_context_current_, buffers[i].id(), |
- buffers[i].texture_id(), requested_pic_size_)); |
+ vaapi_wrapper_.get(), texture_manager_, |
+ texture_manager_->GetTexture(buffers[i].internal_texture_id()), |
+ make_context_current_, buffers[i].id(), buffers[i].texture_id(), |
+ requested_pic_size_)); |
RETURN_AND_NOTIFY_ON_FAILURE( |
picture.get(), "Failed assigning picture buffer to a texture.", |