| Index: cc/layers/video_layer_impl.cc
|
| diff --git a/cc/layers/video_layer_impl.cc b/cc/layers/video_layer_impl.cc
|
| index 228f2ccdc8404341b54770e8271d8dfad4e1f9e6..28037cca1587a420e7aaf62ac9694dbbaad1eae1 100644
|
| --- a/cc/layers/video_layer_impl.cc
|
| +++ b/cc/layers/video_layer_impl.cc
|
| @@ -30,18 +30,23 @@ scoped_ptr<VideoLayerImpl> VideoLayerImpl::Create(
|
| int id,
|
| VideoFrameProvider* provider,
|
| media::VideoRotation video_rotation) {
|
| - scoped_ptr<VideoLayerImpl> layer(
|
| - new VideoLayerImpl(tree_impl, id, video_rotation));
|
| - layer->SetProviderClientImpl(VideoFrameProviderClientImpl::Create(provider));
|
| - DCHECK(tree_impl->proxy()->IsImplThread());
|
| DCHECK(tree_impl->proxy()->IsMainThreadBlocked());
|
| - return layer.Pass();
|
| + DCHECK(tree_impl->proxy()->IsImplThread());
|
| +
|
| + scoped_refptr<VideoFrameProviderClientImpl> provider_client_impl =
|
| + VideoFrameProviderClientImpl::Create(provider);
|
| +
|
| + return make_scoped_ptr(
|
| + new VideoLayerImpl(tree_impl, id, provider_client_impl, video_rotation));
|
| }
|
|
|
| -VideoLayerImpl::VideoLayerImpl(LayerTreeImpl* tree_impl,
|
| - int id,
|
| - media::VideoRotation video_rotation)
|
| +VideoLayerImpl::VideoLayerImpl(
|
| + LayerTreeImpl* tree_impl,
|
| + int id,
|
| + scoped_refptr<VideoFrameProviderClientImpl> provider_client_impl,
|
| + media::VideoRotation video_rotation)
|
| : LayerImpl(tree_impl, id),
|
| + provider_client_impl_(provider_client_impl),
|
| frame_(nullptr),
|
| video_rotation_(video_rotation) {
|
| }
|
| @@ -61,18 +66,13 @@ VideoLayerImpl::~VideoLayerImpl() {
|
|
|
| scoped_ptr<LayerImpl> VideoLayerImpl::CreateLayerImpl(
|
| LayerTreeImpl* tree_impl) {
|
| - return make_scoped_ptr(new VideoLayerImpl(tree_impl, id(), video_rotation_));
|
| -}
|
| -
|
| -void VideoLayerImpl::PushPropertiesTo(LayerImpl* layer) {
|
| - LayerImpl::PushPropertiesTo(layer);
|
| -
|
| - VideoLayerImpl* other = static_cast<VideoLayerImpl*>(layer);
|
| - other->SetProviderClientImpl(provider_client_impl_);
|
| + return make_scoped_ptr(new VideoLayerImpl(
|
| + tree_impl, id(), provider_client_impl_, video_rotation_));
|
| }
|
|
|
| void VideoLayerImpl::DidBecomeActive() {
|
| - provider_client_impl_->SetActiveVideoLayer(this);
|
| + if (!provider_client_impl_->Started())
|
| + provider_client_impl_->Start(this);
|
| }
|
|
|
| bool VideoLayerImpl::WillDraw(DrawMode draw_mode,
|
| @@ -364,11 +364,6 @@ void VideoLayerImpl::SetNeedsRedraw() {
|
| layer_tree_impl()->SetNeedsRedraw();
|
| }
|
|
|
| -void VideoLayerImpl::SetProviderClientImpl(
|
| - scoped_refptr<VideoFrameProviderClientImpl> provider_client_impl) {
|
| - provider_client_impl_ = provider_client_impl;
|
| -}
|
| -
|
| const char* VideoLayerImpl::LayerTypeAsString() const {
|
| return "cc::VideoLayerImpl";
|
| }
|
|
|