| OLD | NEW |
| 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 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 51 media::AudioManager* g_audio_manager = NULL; | 51 media::AudioManager* g_audio_manager = NULL; |
| 52 | 52 |
| 53 scoped_ptr<media::DataSource> CreateDataSource(const std::string& file_path) { | 53 scoped_ptr<media::DataSource> CreateDataSource(const std::string& file_path) { |
| 54 media::FileDataSource* file_data_source = new media::FileDataSource(); | 54 media::FileDataSource* file_data_source = new media::FileDataSource(); |
| 55 CHECK(file_data_source->Initialize(base::FilePath(file_path))); | 55 CHECK(file_data_source->Initialize(base::FilePath(file_path))); |
| 56 | 56 |
| 57 scoped_ptr<media::DataSource> data_source(file_data_source); | 57 scoped_ptr<media::DataSource> data_source(file_data_source); |
| 58 return data_source.Pass(); | 58 return data_source.Pass(); |
| 59 } | 59 } |
| 60 | 60 |
| 61 static void LogFunc(const std::string& str) { DVLOG(1) << str; } |
| 62 |
| 61 // Initialize X11. Returns true if successful. This method creates the X11 | 63 // Initialize X11. Returns true if successful. This method creates the X11 |
| 62 // window. Further initialization is done in X11VideoRenderer. | 64 // window. Further initialization is done in X11VideoRenderer. |
| 63 bool InitX11() { | 65 bool InitX11() { |
| 64 g_display = XOpenDisplay(NULL); | 66 g_display = XOpenDisplay(NULL); |
| 65 if (!g_display) { | 67 if (!g_display) { |
| 66 std::cout << "Error - cannot open display" << std::endl; | 68 std::cout << "Error - cannot open display" << std::endl; |
| 67 return false; | 69 return false; |
| 68 } | 70 } |
| 69 | 71 |
| 70 // Get properties of the screen. | 72 // Get properties of the screen. |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 media::Demuxer* demuxer, | 116 media::Demuxer* demuxer, |
| 115 const media::VideoRendererImpl::PaintCB& paint_cb, | 117 const media::VideoRendererImpl::PaintCB& paint_cb, |
| 116 bool /* enable_audio */) { | 118 bool /* enable_audio */) { |
| 117 ScopedVector<media::VideoDecoder> video_decoders; | 119 ScopedVector<media::VideoDecoder> video_decoders; |
| 118 video_decoders.push_back(new media::FFmpegVideoDecoder(task_runner)); | 120 video_decoders.push_back(new media::FFmpegVideoDecoder(task_runner)); |
| 119 scoped_ptr<media::VideoRenderer> video_renderer( | 121 scoped_ptr<media::VideoRenderer> video_renderer( |
| 120 new media::VideoRendererImpl(task_runner, | 122 new media::VideoRendererImpl(task_runner, |
| 121 video_decoders.Pass(), | 123 video_decoders.Pass(), |
| 122 media::SetDecryptorReadyCB(), | 124 media::SetDecryptorReadyCB(), |
| 123 paint_cb, | 125 paint_cb, |
| 124 true)); | 126 true, |
| 127 base::Bind(&LogFunc))); |
| 125 | 128 |
| 126 ScopedVector<media::AudioDecoder> audio_decoders; | 129 ScopedVector<media::AudioDecoder> audio_decoders; |
| 127 audio_decoders.push_back(new media::FFmpegAudioDecoder(task_runner, | 130 audio_decoders.push_back(new media::FFmpegAudioDecoder(task_runner, |
| 128 media::LogCB())); | 131 media::LogCB())); |
| 129 media::AudioParameters out_params( | 132 media::AudioParameters out_params( |
| 130 media::AudioParameters::AUDIO_PCM_LOW_LATENCY, | 133 media::AudioParameters::AUDIO_PCM_LOW_LATENCY, |
| 131 media::CHANNEL_LAYOUT_STEREO, | 134 media::CHANNEL_LAYOUT_STEREO, |
| 132 44100, | 135 44100, |
| 133 16, | 136 16, |
| 134 512); | 137 512); |
| 135 media::AudioHardwareConfig hardware_config(out_params, out_params); | 138 media::AudioHardwareConfig hardware_config(out_params, out_params); |
| 136 | 139 |
| 137 scoped_ptr<media::AudioRenderer> audio_renderer( | 140 scoped_ptr<media::AudioRenderer> audio_renderer( |
| 138 new media::AudioRendererImpl(task_runner, | 141 new media::AudioRendererImpl(task_runner, |
| 139 new media::NullAudioSink(task_runner), | 142 new media::NullAudioSink(task_runner), |
| 140 audio_decoders.Pass(), | 143 audio_decoders.Pass(), |
| 141 media::SetDecryptorReadyCB(), | 144 media::SetDecryptorReadyCB(), |
| 142 hardware_config)); | 145 hardware_config, |
| 146 base::Bind(&LogFunc))); |
| 143 | 147 |
| 144 scoped_ptr<media::Renderer> renderer(new media::RendererImpl( | 148 scoped_ptr<media::Renderer> renderer(new media::RendererImpl( |
| 145 task_runner, demuxer, audio_renderer.Pass(), video_renderer.Pass())); | 149 task_runner, demuxer, audio_renderer.Pass(), video_renderer.Pass())); |
| 146 | 150 |
| 147 base::WaitableEvent event(true, false); | 151 base::WaitableEvent event(true, false); |
| 148 media::PipelineStatus status; | 152 media::PipelineStatus status; |
| 149 | 153 |
| 150 pipeline->Start(demuxer, | 154 pipeline->Start(demuxer, |
| 151 renderer.Pass(), | 155 renderer.Pass(), |
| 152 base::Bind(&DoNothing), | 156 base::Bind(&DoNothing), |
| (...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 307 // Release callback which releases video renderer. Do this before cleaning up | 311 // Release callback which releases video renderer. Do this before cleaning up |
| 308 // X below since the video renderer has some X cleanup duties as well. | 312 // X below since the video renderer has some X cleanup duties as well. |
| 309 paint_cb.Reset(); | 313 paint_cb.Reset(); |
| 310 | 314 |
| 311 XDestroyWindow(g_display, g_window); | 315 XDestroyWindow(g_display, g_window); |
| 312 XCloseDisplay(g_display); | 316 XCloseDisplay(g_display); |
| 313 g_audio_manager = NULL; | 317 g_audio_manager = NULL; |
| 314 | 318 |
| 315 return 0; | 319 return 0; |
| 316 } | 320 } |
| OLD | NEW |