| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/layers/video_layer_impl.h" | 5 #include "cc/layers/video_layer_impl.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "cc/layers/video_frame_provider_client_impl.h" | 9 #include "cc/layers/video_frame_provider_client_impl.h" |
| 10 #include "cc/quads/io_surface_draw_quad.h" | 10 #include "cc/quads/io_surface_draw_quad.h" |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 121 DCHECK_EQ(external_resources.mailboxes.size(), | 121 DCHECK_EQ(external_resources.mailboxes.size(), |
| 122 external_resources.release_callbacks.size()); | 122 external_resources.release_callbacks.size()); |
| 123 for (size_t i = 0; i < external_resources.mailboxes.size(); ++i) { | 123 for (size_t i = 0; i < external_resources.mailboxes.size(); ++i) { |
| 124 unsigned resource_id = resource_provider->CreateResourceFromTextureMailbox( | 124 unsigned resource_id = resource_provider->CreateResourceFromTextureMailbox( |
| 125 external_resources.mailboxes[i], | 125 external_resources.mailboxes[i], |
| 126 SingleReleaseCallbackImpl::Create( | 126 SingleReleaseCallbackImpl::Create( |
| 127 external_resources.release_callbacks[i]), | 127 external_resources.release_callbacks[i]), |
| 128 external_resources.read_lock_fences_enabled); | 128 external_resources.read_lock_fences_enabled); |
| 129 frame_resources_.push_back(FrameResource( | 129 frame_resources_.push_back(FrameResource( |
| 130 resource_id, external_resources.mailboxes[i].size_in_pixels(), | 130 resource_id, external_resources.mailboxes[i].size_in_pixels(), |
| 131 external_resources.mailboxes[i].allow_overlay())); | 131 external_resources.mailboxes[i].is_overlay_candidate())); |
| 132 } | 132 } |
| 133 | 133 |
| 134 return true; | 134 return true; |
| 135 } | 135 } |
| 136 | 136 |
| 137 void VideoLayerImpl::AppendQuads(RenderPass* render_pass, | 137 void VideoLayerImpl::AppendQuads(RenderPass* render_pass, |
| 138 AppendQuadsData* append_quads_data) { | 138 AppendQuadsData* append_quads_data) { |
| 139 DCHECK(frame_.get()); | 139 DCHECK(frame_.get()); |
| 140 | 140 |
| 141 gfx::Transform transform = draw_transform(); | 141 gfx::Transform transform = draw_transform(); |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 306 DCHECK_EQ(frame_resources_.size(), 1u); | 306 DCHECK_EQ(frame_resources_.size(), 1u); |
| 307 if (frame_resources_.size() < 1u) | 307 if (frame_resources_.size() < 1u) |
| 308 break; | 308 break; |
| 309 gfx::Transform scale; | 309 gfx::Transform scale; |
| 310 scale.Scale(tex_width_scale, tex_height_scale); | 310 scale.Scale(tex_width_scale, tex_height_scale); |
| 311 StreamVideoDrawQuad* stream_video_quad = | 311 StreamVideoDrawQuad* stream_video_quad = |
| 312 render_pass->CreateAndAppendDrawQuad<StreamVideoDrawQuad>(); | 312 render_pass->CreateAndAppendDrawQuad<StreamVideoDrawQuad>(); |
| 313 stream_video_quad->SetNew( | 313 stream_video_quad->SetNew( |
| 314 shared_quad_state, quad_rect, opaque_rect, visible_quad_rect, | 314 shared_quad_state, quad_rect, opaque_rect, visible_quad_rect, |
| 315 frame_resources_[0].id, frame_resources_[0].size_in_pixels, | 315 frame_resources_[0].id, frame_resources_[0].size_in_pixels, |
| 316 frame_resources_[0].allow_overlay, | |
| 317 scale * provider_client_impl_->StreamTextureMatrix()); | 316 scale * provider_client_impl_->StreamTextureMatrix()); |
| 318 ValidateQuadResources(stream_video_quad); | 317 ValidateQuadResources(stream_video_quad); |
| 319 break; | 318 break; |
| 320 } | 319 } |
| 321 case VideoFrameExternalResources::IO_SURFACE: { | 320 case VideoFrameExternalResources::IO_SURFACE: { |
| 322 DCHECK_EQ(frame_resources_.size(), 1u); | 321 DCHECK_EQ(frame_resources_.size(), 1u); |
| 323 if (frame_resources_.size() < 1u) | 322 if (frame_resources_.size() < 1u) |
| 324 break; | 323 break; |
| 325 IOSurfaceDrawQuad* io_surface_quad = | 324 IOSurfaceDrawQuad* io_surface_quad = |
| 326 render_pass->CreateAndAppendDrawQuad<IOSurfaceDrawQuad>(); | 325 render_pass->CreateAndAppendDrawQuad<IOSurfaceDrawQuad>(); |
| 327 io_surface_quad->SetNew(shared_quad_state, quad_rect, opaque_rect, | 326 io_surface_quad->SetNew(shared_quad_state, quad_rect, opaque_rect, |
| 328 visible_quad_rect, visible_rect.size(), | 327 visible_quad_rect, visible_rect.size(), |
| 329 frame_resources_[0].id, | 328 frame_resources_[0].id, |
| 330 IOSurfaceDrawQuad::UNFLIPPED, | 329 IOSurfaceDrawQuad::UNFLIPPED); |
| 331 frame_resources_[0].allow_overlay); | |
| 332 ValidateQuadResources(io_surface_quad); | 330 ValidateQuadResources(io_surface_quad); |
| 333 break; | 331 break; |
| 334 } | 332 } |
| 335 #if defined(VIDEO_HOLE) | 333 #if defined(VIDEO_HOLE) |
| 336 // This block and other blocks wrapped around #if defined(VIDEO_HOLE) is not | 334 // This block and other blocks wrapped around #if defined(VIDEO_HOLE) is not |
| 337 // maintained by the general compositor team. Please contact the following | 335 // maintained by the general compositor team. Please contact the following |
| 338 // people instead: | 336 // people instead: |
| 339 // | 337 // |
| 340 // wonsik@chromium.org | 338 // wonsik@chromium.org |
| 341 // lcwu@chromium.org | 339 // lcwu@chromium.org |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 403 void VideoLayerImpl::SetNeedsRedraw() { | 401 void VideoLayerImpl::SetNeedsRedraw() { |
| 404 SetUpdateRect(gfx::UnionRects(update_rect(), gfx::Rect(bounds()))); | 402 SetUpdateRect(gfx::UnionRects(update_rect(), gfx::Rect(bounds()))); |
| 405 layer_tree_impl()->SetNeedsRedraw(); | 403 layer_tree_impl()->SetNeedsRedraw(); |
| 406 } | 404 } |
| 407 | 405 |
| 408 const char* VideoLayerImpl::LayerTypeAsString() const { | 406 const char* VideoLayerImpl::LayerTypeAsString() const { |
| 409 return "cc::VideoLayerImpl"; | 407 return "cc::VideoLayerImpl"; |
| 410 } | 408 } |
| 411 | 409 |
| 412 } // namespace cc | 410 } // namespace cc |
| OLD | NEW |