summaryrefslogtreecommitdiffstats
path: root/webkit/media
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-22 19:40:09 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-12-22 19:40:09 +0000
commit30626f673b1aefbbd0b9b88129e10ce9c24e2ff7 (patch)
treecf794c04216b8b2b8230bfbac911e6db67c2ec6d /webkit/media
parente6e35cd27ad71461e765f90f3fbdf634e2dc90a9 (diff)
downloadchromium_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.cc15
-rw-r--r--webkit/media/video_renderer_impl.h13
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_;