summaryrefslogtreecommitdiffstats
path: root/webkit
diff options
context:
space:
mode:
authorvrk@google.com <vrk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-16 00:00:09 +0000
committervrk@google.com <vrk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-16 00:00:09 +0000
commita1d41ed5a126c9426f986930fb420e0c9c3f7faa (patch)
tree1f0a43e9b1a0edb2748dde1bc68a7915bba6b525 /webkit
parent8a6bf98805e68f6e00c7cc8a1aaa258fd2c2c7a5 (diff)
downloadchromium_src-a1d41ed5a126c9426f986930fb420e0c9c3f7faa.zip
chromium_src-a1d41ed5a126c9426f986930fb420e0c9c3f7faa.tar.gz
chromium_src-a1d41ed5a126c9426f986930fb420e0c9c3f7faa.tar.bz2
Fix aspect ratio and clarify video frame dimensions
BUG=18941,94861 TEST=video-aspect-ratio.html Review URL: http://codereview.chromium.org/7864009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101418 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
-rw-r--r--webkit/glue/media/video_renderer_impl.cc12
-rw-r--r--webkit/glue/media/video_renderer_impl.h4
-rw-r--r--webkit/glue/webmediaplayer_impl.cc6
3 files changed, 11 insertions, 11 deletions
diff --git a/webkit/glue/media/video_renderer_impl.cc b/webkit/glue/media/video_renderer_impl.cc
index 70dbe7a9a..4532935 100644
--- a/webkit/glue/media/video_renderer_impl.cc
+++ b/webkit/glue/media/video_renderer_impl.cc
@@ -21,9 +21,9 @@ VideoRendererImpl::VideoRendererImpl(bool pts_logging)
VideoRendererImpl::~VideoRendererImpl() {}
bool VideoRendererImpl::OnInitialize(media::VideoDecoder* decoder) {
- video_size_.SetSize(decoder->width(), decoder->height());
+ natural_size_ = decoder->natural_size();
bitmap_.setConfig(SkBitmap::kARGB_8888_Config,
- decoder->width(), decoder->height());
+ natural_size_.width(), natural_size_.height());
bitmap_.allocPixels();
bitmap_.eraseRGB(0x00, 0x00, 0x00);
bitmap_.setIsVolatile(true);
@@ -162,12 +162,12 @@ void VideoRendererImpl::SlowPaint(media::VideoFrame* video_frame,
SkMatrix matrix;
matrix.setTranslate(static_cast<SkScalar>(dest_rect.x()),
static_cast<SkScalar>(dest_rect.y()));
- if (dest_rect.width() != video_size_.width() ||
- dest_rect.height() != video_size_.height()) {
+ if (dest_rect.width() != natural_size_.width() ||
+ dest_rect.height() != natural_size_.height()) {
matrix.preScale(SkIntToScalar(dest_rect.width()) /
- SkIntToScalar(video_size_.width()),
+ SkIntToScalar(natural_size_.width()),
SkIntToScalar(dest_rect.height()) /
- SkIntToScalar(video_size_.height()));
+ SkIntToScalar(natural_size_.height()));
}
SkPaint paint;
paint.setFlags(SkPaint::kFilterBitmap_Flag);
diff --git a/webkit/glue/media/video_renderer_impl.h b/webkit/glue/media/video_renderer_impl.h
index 71977d0..aedadf2 100644
--- a/webkit/glue/media/video_renderer_impl.h
+++ b/webkit/glue/media/video_renderer_impl.h
@@ -68,8 +68,8 @@ class VideoRendererImpl : public WebVideoRenderer {
media::VideoFrame* last_converted_frame_;
base::TimeDelta last_converted_timestamp_;
- // The size of the video.
- gfx::Size video_size_;
+ // The natural size of the video.
+ gfx::Size natural_size_;
// Whether we're logging video presentation timestamps (PTS).
bool pts_logging_;
diff --git a/webkit/glue/webmediaplayer_impl.cc b/webkit/glue/webmediaplayer_impl.cc
index b6f41d9a..9c46c89 100644
--- a/webkit/glue/webmediaplayer_impl.cc
+++ b/webkit/glue/webmediaplayer_impl.cc
@@ -399,9 +399,9 @@ bool WebMediaPlayerImpl::hasAudio() const {
WebKit::WebSize WebMediaPlayerImpl::naturalSize() const {
DCHECK(MessageLoop::current() == main_loop_);
- size_t width, height;
- pipeline_->GetVideoSize(&width, &height);
- return WebKit::WebSize(width, height);
+ gfx::Size size;
+ pipeline_->GetNaturalVideoSize(&size);
+ return WebKit::WebSize(size);
}
bool WebMediaPlayerImpl::paused() const {