Chromium Code Reviews| Index: content/renderer/media/webmediaplayer_impl.cc |
| diff --git a/content/renderer/media/webmediaplayer_impl.cc b/content/renderer/media/webmediaplayer_impl.cc |
| index 09633bde08c4e972a6b4742d67ba4a5bf90ac9bd..8238a5572adeb4e5f2245471c41c4dc606d940cd 100644 |
| --- a/content/renderer/media/webmediaplayer_impl.cc |
| +++ b/content/renderer/media/webmediaplayer_impl.cc |
| @@ -547,6 +547,12 @@ void WebMediaPlayerImpl::paint(WebCanvas* canvas, |
| GetCurrentFrameFromCompositor(); |
| gfx::Rect gfx_rect(rect); |
| + |
| + if (pipeline_metadata_.video_rotation == media::VIDEO_ROTATION_90 || |
| + pipeline_metadata_.video_rotation == media::VIDEO_ROTATION_270) |
| + gfx_rect.set_size( |
|
scherkus (not reviewing)
2014/08/06 23:06:42
nit: for if-statements that are >1 line please use
suderman
2014/08/07 00:31:31
Done.
|
| + gfx::Size(gfx_rect.size().height(), gfx_rect.size().width())); |
| + |
| skcanvas_video_renderer_.Paint(video_frame.get(), canvas, gfx_rect, alpha); |
| } |
| @@ -946,8 +952,16 @@ void WebMediaPlayerImpl::OnPipelineMetadata( |
| if (hasVideo()) { |
| DCHECK(!video_weblayer_); |
| - video_weblayer_.reset( |
| - new WebLayerImpl(cc::VideoLayer::Create(compositor_))); |
| + scoped_refptr<cc::VideoLayer> layer = |
| + cc::VideoLayer::Create(compositor_, pipeline_metadata_.video_rotation); |
| + |
| + if (pipeline_metadata_.video_rotation == media::VIDEO_ROTATION_90 || |
| + pipeline_metadata_.video_rotation == media::VIDEO_ROTATION_270) { |
| + gfx::Size size = pipeline_metadata_.natural_size; |
| + pipeline_metadata_.natural_size = gfx::Size(size.height(), size.width()); |
| + } |
| + |
| + video_weblayer_.reset(new WebLayerImpl(layer)); |
| video_weblayer_->setOpaque(opaque_); |
| client_->setWebLayer(video_weblayer_.get()); |
| } |