Index: content/renderer/media/webmediaplayer_impl.cc |
diff --git a/content/renderer/media/webmediaplayer_impl.cc b/content/renderer/media/webmediaplayer_impl.cc |
index a6b0fd96e7ed66b2a6f31b8691fa009709662e88..2c924831378e1a91d7958691a429ab1be0296b80 100644 |
--- a/content/renderer/media/webmediaplayer_impl.cc |
+++ b/content/renderer/media/webmediaplayer_impl.cc |
@@ -967,8 +967,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_); |
+ |
+ 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()); |
+ } |
+ |
+ layer->set_video_rotation(pipeline_metadata_.video_rotation); |
+ video_weblayer_.reset(new WebLayerImpl(layer)); |
video_weblayer_->setOpaque(opaque_); |
client_->setWebLayer(video_weblayer_.get()); |
} |