diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-22 19:40:09 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-22 19:40:09 +0000 |
commit | 30626f673b1aefbbd0b9b88129e10ce9c24e2ff7 (patch) | |
tree | cf794c04216b8b2b8230bfbac911e6db67c2ec6d /webkit/media | |
parent | e6e35cd27ad71461e765f90f3fbdf634e2dc90a9 (diff) | |
download | chromium_src-30626f673b1aefbbd0b9b88129e10ce9c24e2ff7.zip chromium_src-30626f673b1aefbbd0b9b88129e10ce9c24e2ff7.tar.gz chromium_src-30626f673b1aefbbd0b9b88129e10ce9c24e2ff7.tar.bz2 |
Replace subclass interface from VideoRendererBase with a single paint callback.
As a result, many of the existing VideoRendererBase subclasses have been simplified or even removed entirely.
BUG=28208
Review URL: http://codereview.chromium.org/8999029
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115583 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit/media')
-rw-r--r-- | webkit/media/video_renderer_impl.cc | 15 | ||||
-rw-r--r-- | webkit/media/video_renderer_impl.h | 13 |
2 files changed, 5 insertions, 23 deletions
diff --git a/webkit/media/video_renderer_impl.cc b/webkit/media/video_renderer_impl.cc index d1ae85b..f1a880f 100644 --- a/webkit/media/video_renderer_impl.cc +++ b/webkit/media/video_renderer_impl.cc @@ -232,7 +232,7 @@ static void ConvertVideoFrameToBitmap( } VideoRendererImpl::VideoRendererImpl(const base::Closure& paint_cb) - : paint_cb_(paint_cb), + : media::VideoRendererBase(paint_cb), bitmap_timestamp_(media::kNoTimestamp) { } @@ -275,17 +275,4 @@ void VideoRendererImpl::Paint(SkCanvas* canvas, const gfx::Rect& dest_rect) { PutCurrentFrame(video_frame); } -bool VideoRendererImpl::OnInitialize(media::VideoDecoder* decoder) { - return true; -} - -void VideoRendererImpl::OnStop(const base::Closure& callback) { - if (!callback.is_null()) - callback.Run(); -} - -void VideoRendererImpl::OnFrameAvailable() { - paint_cb_.Run(); -} - } // namespace webkit_media diff --git a/webkit/media/video_renderer_impl.h b/webkit/media/video_renderer_impl.h index c9e4fb9..c2f8558 100644 --- a/webkit/media/video_renderer_impl.h +++ b/webkit/media/video_renderer_impl.h @@ -18,6 +18,10 @@ namespace webkit_media { // The video renderer implementation used by the media pipeline. It runs // primarily on the video renderer thread with the render thread used for // painting. +// +// TODO(scherkus): don't extend VideoRendererBase and instead bind Paint() +// and pass to VideoRendererBase as a callback. This will be easier to do +// when http://crbug.com/108435 is fixed. class VideoRendererImpl : public media::VideoRendererBase { public: // |paint_cb| is executed whenever a new frame is available for painting. @@ -30,16 +34,7 @@ class VideoRendererImpl : public media::VideoRendererBase { // Method called on the render thread. void Paint(SkCanvas* canvas, const gfx::Rect& dest_rect); - protected: - // VideoRendererBase implementation. - virtual bool OnInitialize(media::VideoDecoder* decoder) OVERRIDE; - virtual void OnStop(const base::Closure& callback) OVERRIDE; - virtual void OnFrameAvailable() OVERRIDE; - private: - // Callback to execute when a new frame is available for painting. - base::Closure paint_cb_; - // An RGB bitmap and corresponding timestamp of converted video frame data. SkBitmap bitmap_; base::TimeDelta bitmap_timestamp_; |