| Index: media/blink/webmediaplayer_impl.cc
|
| diff --git a/media/blink/webmediaplayer_impl.cc b/media/blink/webmediaplayer_impl.cc
|
| index 16a43350dd6e9ea8dc7ad41c112182fc85006269..d02166a0fe7a33a24d497eabfa01c0c7ee4ee10e 100644
|
| --- a/media/blink/webmediaplayer_impl.cc
|
| +++ b/media/blink/webmediaplayer_impl.cc
|
| @@ -123,6 +123,12 @@ bool IsNetworkStateError(blink::WebMediaPlayer::NetworkState state) {
|
| return result;
|
| }
|
|
|
| +gfx::Size GetRotatedVideoSize(VideoRotation rotation, gfx::Size natural_size) {
|
| + if (rotation == VIDEO_ROTATION_90 || rotation == VIDEO_ROTATION_270)
|
| + return gfx::Size(natural_size.height(), natural_size.width());
|
| + return natural_size;
|
| +}
|
| +
|
| } // namespace
|
|
|
| class BufferedDataSourceHostImpl;
|
| @@ -976,11 +982,8 @@ void WebMediaPlayerImpl::OnMetadata(PipelineMetadata metadata) {
|
| SetReadyState(WebMediaPlayer::ReadyStateHaveMetadata);
|
|
|
| if (hasVideo()) {
|
| - if (pipeline_metadata_.video_rotation == VIDEO_ROTATION_90 ||
|
| - pipeline_metadata_.video_rotation == VIDEO_ROTATION_270) {
|
| - gfx::Size size = pipeline_metadata_.natural_size;
|
| - pipeline_metadata_.natural_size = gfx::Size(size.height(), size.width());
|
| - }
|
| + pipeline_metadata_.natural_size = GetRotatedVideoSize(
|
| + pipeline_metadata_.video_rotation, pipeline_metadata_.natural_size);
|
|
|
| if (fullscreen_ && surface_manager_)
|
| surface_manager_->NaturalSizeChanged(pipeline_metadata_.natural_size);
|
| @@ -1073,17 +1076,20 @@ void WebMediaPlayerImpl::OnVideoNaturalSizeChange(const gfx::Size& size) {
|
| DCHECK(main_task_runner_->BelongsToCurrentThread());
|
| DCHECK_NE(ready_state_, WebMediaPlayer::ReadyStateHaveNothing);
|
|
|
| - if (size == pipeline_metadata_.natural_size)
|
| + gfx::Size rotated_size =
|
| + GetRotatedVideoSize(pipeline_metadata_.video_rotation, size);
|
| +
|
| + if (rotated_size == pipeline_metadata_.natural_size)
|
| return;
|
|
|
| TRACE_EVENT0("media", "WebMediaPlayerImpl::OnNaturalSizeChanged");
|
| - media_log_->AddEvent(
|
| - media_log_->CreateVideoSizeSetEvent(size.width(), size.height()));
|
| + media_log_->AddEvent(media_log_->CreateVideoSizeSetEvent(
|
| + rotated_size.width(), rotated_size.height()));
|
|
|
| if (fullscreen_ && surface_manager_)
|
| - surface_manager_->NaturalSizeChanged(size);
|
| + surface_manager_->NaturalSizeChanged(rotated_size);
|
|
|
| - pipeline_metadata_.natural_size = size;
|
| + pipeline_metadata_.natural_size = rotated_size;
|
| client_->sizeChanged();
|
| }
|
|
|
|
|