Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(58)

Unified Diff: media/tools/player_x11/player_x11.cc

Issue 12096081: Replace VideoRendererBase Get/PutCurrentFrame() with a VideoFrame-containing callback. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/tools/player_x11/player_x11.cc
diff --git a/media/tools/player_x11/player_x11.cc b/media/tools/player_x11/player_x11.cc
index 3c8bb9cafdbbad479277399b512146cf9f2717d8..aca065d510ab54d418f063b68daa0067e06eafac 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,

Powered by Google App Engine
This is Rietveld 408576698