summaryrefslogtreecommitdiffstats
path: root/cc/layers/video_layer_impl.cc
diff options
context:
space:
mode:
authorhalliwell <halliwell@chromium.org>2015-05-13 09:27:21 -0700
committerCommit bot <commit-bot@chromium.org>2015-05-13 16:27:32 +0000
commit9e2b43aee24f3a9827e05d34578ba9a747236cd5 (patch)
tree5e0aebdd03bd476c7f67f98c6b07b96ab6d03a64 /cc/layers/video_layer_impl.cc
parent4a44a2b9ce220eb5b7f82018a5d3df06d81807d2 (diff)
downloadchromium_src-9e2b43aee24f3a9827e05d34578ba9a747236cd5.zip
chromium_src-9e2b43aee24f3a9827e05d34578ba9a747236cd5.tar.gz
chromium_src-9e2b43aee24f3a9827e05d34578ba9a747236cd5.tar.bz2
Add distinction between RGB and RGBA native texture video frame and resources
Currently it's impossible to place a NATIVE_TEXTURE VideoFrame into an overlay, because: * NATIVE_TEXTURE VideoFrame turns into RGB_RESOURCE in VideoResourceUpdater * RGB_RESOURCE always sets premultipled_alpha flag on its TextureDrawQuad (see VideoLayerImpl::AppendQuads) * OverlayStrategyCommon rejects quads with premultiplied alpha BUG= Review URL: https://codereview.chromium.org/1134643002 Cr-Commit-Position: refs/heads/master@{#329651}
Diffstat (limited to 'cc/layers/video_layer_impl.cc')
-rw-r--r--cc/layers/video_layer_impl.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/cc/layers/video_layer_impl.cc b/cc/layers/video_layer_impl.cc
index 6f72b01..ae028d5 100644
--- a/cc/layers/video_layer_impl.cc
+++ b/cc/layers/video_layer_impl.cc
@@ -261,11 +261,13 @@ void VideoLayerImpl::AppendQuads(RenderPass* render_pass,
ValidateQuadResources(yuv_video_quad);
break;
}
+ case VideoFrameExternalResources::RGBA_RESOURCE:
case VideoFrameExternalResources::RGB_RESOURCE: {
DCHECK_EQ(frame_resources_.size(), 1u);
if (frame_resources_.size() < 1u)
break;
- bool premultiplied_alpha = true;
+ bool premultiplied_alpha =
+ (frame_resource_type_ == VideoFrameExternalResources::RGBA_RESOURCE);
gfx::PointF uv_top_left(0.f, 0.f);
gfx::PointF uv_bottom_right(tex_width_scale, tex_height_scale);
float opacity[] = {1.0f, 1.0f, 1.0f, 1.0f};