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 685ee4e86b3679d7e8e38e4a13af403482ef548e..9995a5361224fa2f67b2bd705381cfaace7c3920 100644 |
--- a/content/browser/renderer_host/surface_texture_transport_client_android.cc |
+++ b/content/browser/renderer_host/surface_texture_transport_client_android.cc |
@@ -7,6 +7,7 @@ |
#include <android/native_window_jni.h> |
#include "base/bind.h" |
+#include "cc/video_layer.h" |
#include "content/browser/gpu/gpu_surface_tracker.h" |
#include "content/browser/renderer_host/compositor_impl_android.h" |
#include "content/browser/renderer_host/image_transport_factory_android.h" |
@@ -34,17 +35,18 @@ SurfaceTextureTransportClient::~SurfaceTextureTransportClient() { |
ANativeWindow_release(window_); |
} |
-WebKit::WebLayer* SurfaceTextureTransportClient::Initialize() { |
+scoped_refptr<cc::Layer> SurfaceTextureTransportClient::Initialize() { |
// Use a SurfaceTexture to stream frames to the UI thread. |
- video_layer_.reset( |
- CompositorImpl::CompositorSupport()->createVideoLayer(this)); |
+ video_layer_ = cc::VideoLayer::create(this, |
+ base::Bind(webkit_media::WebVideoFrameImpl::toVideoFrame)); |
+ |
surface_texture_ = new SurfaceTextureBridge(0); |
surface_texture_->SetFrameAvailableCallback( |
base::Bind( |
&SurfaceTextureTransportClient::OnSurfaceTextureFrameAvailable, |
base::Unretained(this))); |
surface_texture_->DetachFromGLContext(); |
- return video_layer_->layer(); |
+ return video_layer_.get(); |
} |
gfx::GLSurfaceHandle |
@@ -59,7 +61,7 @@ SurfaceTextureTransportClient::GetCompositingSurface(int surface_id) { |
void SurfaceTextureTransportClient::SetSize(const gfx::Size& size) { |
surface_texture_->SetDefaultBufferSize(size.width(), size.height()); |
- video_layer_->layer()->setBounds(size); |
+ video_layer_->setBounds(size); |
video_frame_.reset(); |
} |
@@ -72,7 +74,7 @@ WebKit::WebVideoFrame* SurfaceTextureTransportClient::getCurrentFrame() { |
} |
if (!video_frame_.get()) { |
surface_texture_->AttachToGLContext(texture_id_); |
- const gfx::Size size = video_layer_->layer()->bounds(); |
+ const gfx::Size size = video_layer_->bounds(); |
video_frame_.reset( |
new webkit_media::WebVideoFrameImpl( |
media::VideoFrame::WrapNativeTexture( |
@@ -94,7 +96,7 @@ void SurfaceTextureTransportClient::putCurrentFrame( |
} |
void SurfaceTextureTransportClient::OnSurfaceTextureFrameAvailable() { |
- video_layer_->layer()->invalidate(); |
+ video_layer_->setNeedsDisplay(); |
} |
} // namespace content |