Index: cc/layers/video_layer_impl.cc |
diff --git a/cc/layers/video_layer_impl.cc b/cc/layers/video_layer_impl.cc |
index 754a2f25abb3248ee5e280003bf453f24c8c47b5..eb9eaca648a38e71e3403667572662d22bfb6c04 100644 |
--- a/cc/layers/video_layer_impl.cc |
+++ b/cc/layers/video_layer_impl.cc |
@@ -125,7 +125,9 @@ bool VideoLayerImpl::WillDraw(DrawMode draw_mode, |
external_resources.mailboxes[i], |
SingleReleaseCallbackImpl::Create( |
external_resources.release_callbacks[i])); |
- frame_resources_.push_back(resource_id); |
+ frame_resources_.push_back(FrameResource( |
+ resource_id, external_resources.mailboxes[i].size_in_pixels(), |
+ external_resources.mailboxes[i].allow_overlay())); |
} |
return true; |
@@ -271,8 +273,10 @@ void VideoLayerImpl::AppendQuads(RenderPass* render_pass, |
yuv_video_quad->SetNew( |
shared_quad_state, quad_rect, opaque_rect, visible_quad_rect, |
ya_tex_coord_rect, uv_tex_coord_rect, ya_tex_size, uv_tex_size, |
- frame_resources_[0], frame_resources_[1], frame_resources_[2], |
- frame_resources_.size() > 3 ? frame_resources_[3] : 0, color_space); |
+ frame_resources_[0].id, frame_resources_[1].id, |
+ frame_resources_[2].id, |
+ frame_resources_.size() > 3 ? frame_resources_[3].id : 0, |
+ color_space); |
ValidateQuadResources(yuv_video_quad); |
break; |
} |
@@ -290,17 +294,10 @@ void VideoLayerImpl::AppendQuads(RenderPass* render_pass, |
bool nearest_neighbor = false; |
TextureDrawQuad* texture_quad = |
render_pass->CreateAndAppendDrawQuad<TextureDrawQuad>(); |
- texture_quad->SetNew(shared_quad_state, |
- quad_rect, |
- opaque_rect, |
- visible_quad_rect, |
- frame_resources_[0], |
- premultiplied_alpha, |
- uv_top_left, |
- uv_bottom_right, |
- SK_ColorTRANSPARENT, |
- opacity, |
- flipped, |
+ texture_quad->SetNew(shared_quad_state, quad_rect, opaque_rect, |
+ visible_quad_rect, frame_resources_[0].id, |
+ premultiplied_alpha, uv_top_left, uv_bottom_right, |
+ SK_ColorTRANSPARENT, opacity, flipped, |
nearest_neighbor); |
ValidateQuadResources(texture_quad); |
break; |
@@ -315,7 +312,8 @@ void VideoLayerImpl::AppendQuads(RenderPass* render_pass, |
render_pass->CreateAndAppendDrawQuad<StreamVideoDrawQuad>(); |
stream_video_quad->SetNew( |
shared_quad_state, quad_rect, opaque_rect, visible_quad_rect, |
- frame_resources_[0], |
+ frame_resources_[0].id, frame_resources_[0].size_in_pixels, |
+ frame_resources_[0].allow_overlay, |
scale * provider_client_impl_->StreamTextureMatrix()); |
ValidateQuadResources(stream_video_quad); |
break; |
@@ -326,12 +324,9 @@ void VideoLayerImpl::AppendQuads(RenderPass* render_pass, |
break; |
IOSurfaceDrawQuad* io_surface_quad = |
render_pass->CreateAndAppendDrawQuad<IOSurfaceDrawQuad>(); |
- io_surface_quad->SetNew(shared_quad_state, |
- quad_rect, |
- opaque_rect, |
- visible_quad_rect, |
- visible_rect.size(), |
- frame_resources_[0], |
+ io_surface_quad->SetNew(shared_quad_state, quad_rect, opaque_rect, |
+ visible_quad_rect, visible_rect.size(), |
+ frame_resources_[0].id, |
IOSurfaceDrawQuad::UNFLIPPED); |
ValidateQuadResources(io_surface_quad); |
break; |
@@ -383,7 +378,7 @@ void VideoLayerImpl::DidDraw(ResourceProvider* resource_provider) { |
software_release_callback_.Reset(); |
} else { |
for (size_t i = 0; i < frame_resources_.size(); ++i) |
- resource_provider->DeleteResource(frame_resources_[i]); |
+ resource_provider->DeleteResource(frame_resources_[i].id); |
frame_resources_.clear(); |
} |