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

Side by Side Diff: media/tools/player_x11/player_x11.cc

Issue 23702007: Render inband text tracks in the media pipeline (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: incorporate aaron's comments (9/28) Created 7 years, 2 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <signal.h> 5 #include <signal.h>
6 6
7 #include <iostream> // NOLINT 7 #include <iostream> // NOLINT
8 8
9 #include "base/at_exit.h" 9 #include "base/at_exit.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
270 if (command_line->HasSwitch("use-gl")) { 270 if (command_line->HasSwitch("use-gl")) {
271 paint_cb = base::Bind( 271 paint_cb = base::Bind(
272 &GlVideoRenderer::Paint, new GlVideoRenderer(g_display, g_window)); 272 &GlVideoRenderer::Paint, new GlVideoRenderer(g_display, g_window));
273 } else { 273 } else {
274 paint_cb = base::Bind( 274 paint_cb = base::Bind(
275 &X11VideoRenderer::Paint, new X11VideoRenderer(g_display, g_window)); 275 &X11VideoRenderer::Paint, new X11VideoRenderer(g_display, g_window));
276 } 276 }
277 277
278 scoped_ptr<media::DataSource> data_source(new DataSourceLogger( 278 scoped_ptr<media::DataSource> data_source(new DataSourceLogger(
279 CreateDataSource(filename), command_line->HasSwitch("streaming"))); 279 CreateDataSource(filename), command_line->HasSwitch("streaming")));
280 media::FFmpegAddTextTrackCB add_text_track_cb;
280 scoped_ptr<media::Demuxer> demuxer(new media::FFmpegDemuxer( 281 scoped_ptr<media::Demuxer> demuxer(new media::FFmpegDemuxer(
281 media_thread.message_loop_proxy(), data_source.get(), 282 media_thread.message_loop_proxy(), data_source.get(),
282 base::Bind(&NeedKey), new media::MediaLog())); 283 base::Bind(&NeedKey), add_text_track_cb, new media::MediaLog()));
acolwell GONE FROM CHROMIUM 2013/10/08 15:45:24 nit: I don't believe this compiles. I think you ne
Matthew Heaney (Chromium) 2013/10/13 05:30:17 Done.
283 284
284 media::Pipeline pipeline(media_thread.message_loop_proxy(), 285 media::Pipeline pipeline(media_thread.message_loop_proxy(),
285 new media::MediaLog()); 286 new media::MediaLog());
286 InitPipeline(&pipeline, media_thread.message_loop_proxy(), demuxer.get(), 287 InitPipeline(&pipeline, media_thread.message_loop_proxy(), demuxer.get(),
287 paint_cb, command_line->HasSwitch("audio"), &message_loop); 288 paint_cb, command_line->HasSwitch("audio"), &message_loop);
288 289
289 // Main loop of the application. 290 // Main loop of the application.
290 g_running = true; 291 g_running = true;
291 292
292 message_loop.PostTask(FROM_HERE, base::Bind( 293 message_loop.PostTask(FROM_HERE, base::Bind(
293 &PeriodicalUpdate, base::Unretained(&pipeline), &message_loop, 294 &PeriodicalUpdate, base::Unretained(&pipeline), &message_loop,
294 !pipeline.HasVideo())); 295 !pipeline.HasVideo()));
295 message_loop.Run(); 296 message_loop.Run();
296 297
297 // Cleanup tasks. 298 // Cleanup tasks.
298 media_thread.Stop(); 299 media_thread.Stop();
299 300
300 // Release callback which releases video renderer. Do this before cleaning up 301 // Release callback which releases video renderer. Do this before cleaning up
301 // X below since the video renderer has some X cleanup duties as well. 302 // X below since the video renderer has some X cleanup duties as well.
302 paint_cb.Reset(); 303 paint_cb.Reset();
303 304
304 XDestroyWindow(g_display, g_window); 305 XDestroyWindow(g_display, g_window);
305 XCloseDisplay(g_display); 306 XCloseDisplay(g_display);
306 g_audio_manager = NULL; 307 g_audio_manager = NULL;
307 308
308 return 0; 309 return 0;
309 } 310 }
OLDNEW
« media/tools/demuxer_bench/demuxer_bench.cc ('K') | « media/tools/demuxer_bench/demuxer_bench.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698