summaryrefslogtreecommitdiffstats
path: root/media/tools
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-05 00:35:16 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-05 00:35:16 +0000
commite00258662d708e5bb15448dfd7b99f8de396402f (patch)
tree501791407d7d1b0fce28d6fb580ae65255a3fb96 /media/tools
parent3846febcaefa1bc167276c214e63ea11a9275496 (diff)
downloadchromium_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.cc18
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,