| Index: content/browser/renderer_host/surface_texture_transport_client_android.cc
|
| diff --git a/content/browser/renderer_host/surface_texture_transport_client_android.cc b/content/browser/renderer_host/surface_texture_transport_client_android.cc
|
| index d6d57353281f7979c49c51e1fe7b51b1986b3ef0..4f75d9420e8a70cf1f8c4c2312b9d4eeeca47cae 100644
|
| --- a/content/browser/renderer_host/surface_texture_transport_client_android.cc
|
| +++ b/content/browser/renderer_host/surface_texture_transport_client_android.cc
|
| @@ -46,6 +46,7 @@ class SurfaceRefAndroid : public GpuSurfaceTracker::SurfaceRef {
|
| SurfaceTextureTransportClient::SurfaceTextureTransportClient()
|
| : window_(NULL),
|
| texture_id_(0),
|
| + texture_mailbox_sync_point_(0),
|
| surface_id_(0) {
|
| }
|
|
|
| @@ -96,16 +97,25 @@ scoped_refptr<media::VideoFrame> SurfaceTextureTransportClient::
|
| context->makeContextCurrent();
|
| texture_id_ = context->createTexture();
|
| surface_texture_->AttachToGLContext(texture_id_);
|
| +
|
| + context->genMailboxCHROMIUM(texture_mailbox_.name);
|
| + context->bindTexture(kGLTextureExternalOES, texture_id_);
|
| + context->produceTextureCHROMIUM(kGLTextureExternalOES,
|
| + texture_mailbox_.name);
|
| + texture_mailbox_sync_point_ = context->insertSyncPoint();
|
| }
|
| if (!video_frame_) {
|
| const gfx::Size size = video_layer_->bounds();
|
| video_frame_ = media::VideoFrame::WrapNativeTexture(
|
| - texture_id_, kGLTextureExternalOES,
|
| + texture_mailbox_,
|
| + texture_mailbox_sync_point_,
|
| + kGLTextureExternalOES,
|
| size,
|
| gfx::Rect(gfx::Point(), size),
|
| size,
|
| base::TimeDelta(),
|
| media::VideoFrame::ReadPixelsCB(),
|
| + media::VideoFrame::TextureNoLongerNeededCallback(),
|
| base::Closure());
|
| }
|
| surface_texture_->UpdateTexImage();
|
|
|