diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-05 00:35:16 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-05 00:35:16 +0000 |
commit | e00258662d708e5bb15448dfd7b99f8de396402f (patch) | |
tree | 501791407d7d1b0fce28d6fb580ae65255a3fb96 /media/tools | |
parent | 3846febcaefa1bc167276c214e63ea11a9275496 (diff) | |
download | chromium_src-e00258662d708e5bb15448dfd7b99f8de396402f.zip chromium_src-e00258662d708e5bb15448dfd7b99f8de396402f.tar.gz chromium_src-e00258662d708e5bb15448dfd7b99f8de396402f.tar.bz2 |
Replace VideoRendererBase Get/PutCurrentFrame() with a VideoFrame-containing callback.
BUG=108435
Review URL: https://codereview.chromium.org/12096081
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180578 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/tools')
-rw-r--r-- | media/tools/player_x11/player_x11.cc | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/media/tools/player_x11/player_x11.cc b/media/tools/player_x11/player_x11.cc index 3c8bb9c..aca065d 100644 --- a/media/tools/player_x11/player_x11.cc +++ b/media/tools/player_x11/player_x11.cc @@ -44,8 +44,6 @@ static bool g_running = false; media::AudioManager* g_audio_manager = NULL; -media::VideoRendererBase* g_video_renderer = NULL; - scoped_refptr<media::FileDataSource> CreateFileDataSource( const std::string& file_path) { scoped_refptr<media::FileDataSource> file_data_source( @@ -83,18 +81,15 @@ void SetOpaque(bool /*opaque*/) { } typedef base::Callback<void(media::VideoFrame*)> PaintCB; -void Paint(MessageLoop* message_loop, const PaintCB& paint_cb) { +void Paint(MessageLoop* message_loop, const PaintCB& paint_cb, + const scoped_refptr<media::VideoFrame>& video_frame) { if (message_loop != MessageLoop::current()) { message_loop->PostTask(FROM_HERE, base::Bind( - &Paint, message_loop, paint_cb)); + &Paint, message_loop, paint_cb, video_frame)); return; } - scoped_refptr<media::VideoFrame> video_frame; - g_video_renderer->GetCurrentFrame(&video_frame); - if (video_frame) - paint_cb.Run(video_frame); - g_video_renderer->PutCurrentFrame(video_frame); + paint_cb.Run(video_frame); } static void OnBufferingState(media::Pipeline::BufferingState buffering_state) {} @@ -116,13 +111,12 @@ bool InitPipeline(const scoped_refptr<base::MessageLoopProxy>& message_loop, message_loop)); // Create our video renderer and save a reference to it for painting. - g_video_renderer = new media::VideoRendererBase( + collection->AddVideoRenderer(new media::VideoRendererBase( message_loop, media::SetDecryptorReadyCB(), base::Bind(&Paint, paint_message_loop, paint_cb), base::Bind(&SetOpaque), - true); - collection->AddVideoRenderer(g_video_renderer); + true)); collection->AddAudioRenderer(new media::AudioRendererImpl( message_loop, |