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 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 media::Demuxer* demuxer, | 114 media::Demuxer* demuxer, |
115 const media::VideoRendererImpl::PaintCB& paint_cb, | 115 const media::VideoRendererImpl::PaintCB& paint_cb, |
116 bool /* enable_audio */) { | 116 bool /* enable_audio */) { |
117 ScopedVector<media::VideoDecoder> video_decoders; | 117 ScopedVector<media::VideoDecoder> video_decoders; |
118 video_decoders.push_back(new media::FFmpegVideoDecoder(task_runner)); | 118 video_decoders.push_back(new media::FFmpegVideoDecoder(task_runner)); |
119 scoped_ptr<media::VideoRenderer> video_renderer( | 119 scoped_ptr<media::VideoRenderer> video_renderer( |
120 new media::VideoRendererImpl(task_runner, | 120 new media::VideoRendererImpl(task_runner, |
121 video_decoders.Pass(), | 121 video_decoders.Pass(), |
122 media::SetDecryptorReadyCB(), | 122 media::SetDecryptorReadyCB(), |
123 paint_cb, | 123 paint_cb, |
124 true)); | 124 true, |
| 125 new media::MediaLog())); |
125 | 126 |
126 ScopedVector<media::AudioDecoder> audio_decoders; | 127 ScopedVector<media::AudioDecoder> audio_decoders; |
127 audio_decoders.push_back(new media::FFmpegAudioDecoder(task_runner, | 128 audio_decoders.push_back(new media::FFmpegAudioDecoder(task_runner, |
128 media::LogCB())); | 129 media::LogCB())); |
129 media::AudioParameters out_params( | 130 media::AudioParameters out_params( |
130 media::AudioParameters::AUDIO_PCM_LOW_LATENCY, | 131 media::AudioParameters::AUDIO_PCM_LOW_LATENCY, |
131 media::CHANNEL_LAYOUT_STEREO, | 132 media::CHANNEL_LAYOUT_STEREO, |
132 44100, | 133 44100, |
133 16, | 134 16, |
134 512); | 135 512); |
135 media::AudioHardwareConfig hardware_config(out_params, out_params); | 136 media::AudioHardwareConfig hardware_config(out_params, out_params); |
136 | 137 |
137 scoped_ptr<media::AudioRenderer> audio_renderer( | 138 scoped_ptr<media::AudioRenderer> audio_renderer( |
138 new media::AudioRendererImpl(task_runner, | 139 new media::AudioRendererImpl(task_runner, |
139 new media::NullAudioSink(task_runner), | 140 new media::NullAudioSink(task_runner), |
140 audio_decoders.Pass(), | 141 audio_decoders.Pass(), |
141 media::SetDecryptorReadyCB(), | 142 media::SetDecryptorReadyCB(), |
142 hardware_config)); | 143 hardware_config, |
| 144 new media::MediaLog())); |
143 | 145 |
144 scoped_ptr<media::Renderer> renderer(new media::RendererImpl( | 146 scoped_ptr<media::Renderer> renderer(new media::RendererImpl( |
145 task_runner, demuxer, audio_renderer.Pass(), video_renderer.Pass())); | 147 task_runner, demuxer, audio_renderer.Pass(), video_renderer.Pass())); |
146 | 148 |
147 base::WaitableEvent event(true, false); | 149 base::WaitableEvent event(true, false); |
148 media::PipelineStatus status; | 150 media::PipelineStatus status; |
149 | 151 |
150 pipeline->Start(demuxer, | 152 pipeline->Start(demuxer, |
151 renderer.Pass(), | 153 renderer.Pass(), |
152 base::Bind(&DoNothing), | 154 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 | 309 // 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. | 310 // X below since the video renderer has some X cleanup duties as well. |
309 paint_cb.Reset(); | 311 paint_cb.Reset(); |
310 | 312 |
311 XDestroyWindow(g_display, g_window); | 313 XDestroyWindow(g_display, g_window); |
312 XCloseDisplay(g_display); | 314 XCloseDisplay(g_display); |
313 g_audio_manager = NULL; | 315 g_audio_manager = NULL; |
314 | 316 |
315 return 0; | 317 return 0; |
316 } | 318 } |
OLD | NEW |