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

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

Issue 13813016: Remove reference counting from media::Demuxer and friends. (Closed) Base URL: http://git.chromium.org/chromium/src.git@vd_scoped
Patch Set: demuxer only Created 7 years, 8 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 7b029fcc0d1f4fcf30a2a75f8a11cf9981c322d1..c83e9adccedaba5f473c541e7108e30b3fd489d4 100644
--- a/media/tools/player_x11/player_x11.cc
+++ b/media/tools/player_x11/player_x11.cc
@@ -102,7 +102,7 @@ static void NeedKey(const std::string& type, scoped_ptr<uint8[]> init_data,
// TODO(vrk): Re-enabled audio. (crbug.com/112159)
bool InitPipeline(const scoped_refptr<base::MessageLoopProxy>& message_loop,
- const scoped_refptr<media::DataSource>& data_source,
+ media::Demuxer* demuxer,
const PaintCB& paint_cb,
bool /* enable_audio */,
scoped_refptr<media::Pipeline>* pipeline,
@@ -110,10 +110,7 @@ bool InitPipeline(const scoped_refptr<base::MessageLoopProxy>& message_loop,
// Create our filter factories.
scoped_ptr<media::FilterCollection> collection(
new media::FilterCollection());
- media::FFmpegNeedKeyCB need_key_cb = base::Bind(&NeedKey);
- collection->SetDemuxer(new media::FFmpegDemuxer(message_loop, data_source,
- need_key_cb));
-
+ collection->SetDemuxer(demuxer);
ScopedVector<media::VideoDecoder> video_decoders;
video_decoders.push_back(new media::FFmpegVideoDecoder(message_loop));
@@ -281,8 +278,10 @@ int main(int argc, char** argv) {
scoped_refptr<media::DataSource> data_source(
new DataSourceLogger(CreateFileDataSource(filename),
command_line->HasSwitch("streaming")));
+ scoped_ptr<media::Demuxer> demuxer(new media::FFmpegDemuxer(
+ media_thread.message_loop_proxy(), data_source, base::Bind(&NeedKey)));
- if (InitPipeline(media_thread.message_loop_proxy(), data_source,
+ if (InitPipeline(media_thread.message_loop_proxy(), demuxer.get(),
paint_cb, command_line->HasSwitch("audio"),
&pipeline, &message_loop)) {
// Main loop of the application.

Powered by Google App Engine
This is Rietveld 408576698