Index: content/common/gpu/media/android_deferred_rendering_backing_strategy.cc |
diff --git a/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc b/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc |
index a76c98dece8b5c4c7e32e9d3d3812996963a2929..e2661bc1d0e36c5bf8a62a6efac048fa17588133 100644 |
--- a/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc |
+++ b/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc |
@@ -16,6 +16,7 @@ |
#include "gpu/command_buffer/service/texture_manager.h" |
#include "ui/gl/android/surface_texture.h" |
#include "ui/gl/gl_bindings.h" |
+#include "ui/gl/gl_stream_texture_image.h" |
namespace content { |
@@ -48,6 +49,7 @@ gfx::ScopedJavaSurface AndroidDeferredRenderingBackingStrategy::Initialize( |
glGenTextures(1, &service_id); |
DCHECK(service_id); |
shared_state_->set_surface_texture_service_id(service_id); |
+ shared_state_->set_share_group(gfx::GLContext::GetCurrent()->share_group()); |
return surface; |
} |
@@ -105,7 +107,7 @@ AVDACodecImage* AndroidDeferredRenderingBackingStrategy::GetImageForPicture( |
void AndroidDeferredRenderingBackingStrategy::SetImageForPicture( |
const media::PictureBuffer& picture_buffer, |
- const scoped_refptr<gl::GLImage>& image) { |
+ const scoped_refptr<gl::GLStreamTextureImage>& image) { |
gpu::gles2::TextureRef* texture_ref = GetTextureForPicture(picture_buffer); |
RETURN_IF_NULL(texture_ref); |
@@ -145,8 +147,8 @@ void AndroidDeferredRenderingBackingStrategy::SetImageForPicture( |
const gpu::gles2::Texture::ImageState image_state = |
surface_texture_ ? gpu::gles2::Texture::UNBOUND |
: gpu::gles2::Texture::BOUND; |
- texture_manager->SetLevelImage(texture_ref, GetTextureTarget(), 0, |
- image.get(), image_state); |
+ texture_manager->SetLevelStreamTextureImage(texture_ref, GetTextureTarget(), |
+ 0, image.get(), image_state); |
} |
void AndroidDeferredRenderingBackingStrategy::UseCodecBufferForPictureBuffer( |
@@ -170,7 +172,7 @@ void AndroidDeferredRenderingBackingStrategy::AssignOnePictureBuffer( |
const media::PictureBuffer& picture_buffer) { |
// Attach a GLImage to each texture that will use the surface texture. |
// We use a refptr here in case SetImageForPicture fails. |
- scoped_refptr<gl::GLImage> gl_image = |
+ scoped_refptr<gl::GLStreamTextureImage> gl_image = |
new AVDACodecImage(shared_state_, media_codec_, |
state_provider_->GetGlDecoder(), surface_texture_); |
SetImageForPicture(picture_buffer, gl_image); |