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

Side by Side Diff: media/tools/player_wtl/movie.cc

Issue 9121062: Remove "high"-latency audio code path (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: more to delete! Created 8 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 unified diff | Download patch | Annotate | Revision Log
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 "media/tools/player_wtl/movie.h" 5 #include "media/tools/player_wtl/movie.h"
6 6
7 #include "base/memory/singleton.h" 7 #include "base/memory/singleton.h"
8 #include "base/threading/platform_thread.h" 8 #include "base/threading/platform_thread.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "media/audio/audio_manager.h" 10 #include "media/audio/audio_manager.h"
11 #include "media/base/filter_collection.h" 11 #include "media/base/filter_collection.h"
12 #include "media/base/media_log.h" 12 #include "media/base/media_log.h"
13 #include "media/base/message_loop_factory_impl.h" 13 #include "media/base/message_loop_factory_impl.h"
14 #include "media/base/pipeline.h" 14 #include "media/base/pipeline.h"
15 #include "media/filters/ffmpeg_audio_decoder.h" 15 #include "media/filters/ffmpeg_audio_decoder.h"
16 #include "media/filters/ffmpeg_demuxer_factory.h" 16 #include "media/filters/ffmpeg_demuxer_factory.h"
17 #include "media/filters/ffmpeg_video_decoder.h" 17 #include "media/filters/ffmpeg_video_decoder.h"
18 #include "media/filters/file_data_source.h" 18 #include "media/filters/file_data_source.h"
19 #include "media/filters/null_audio_renderer.h" 19 #include "media/filters/null_audio_renderer.h"
20 #include "media/filters/reference_audio_renderer.h" 20 #include "media/filters/reference_audio_renderer.h"
21 #include "media/filters/video_renderer_base.h" 21 #include "media/filters/video_renderer_base.h"
22 22
23 using media::FFmpegAudioDecoder; 23 using media::FFmpegAudioDecoder;
24 using media::FFmpegDemuxerFactory; 24 using media::FFmpegDemuxerFactory;
25 using media::FFmpegVideoDecoder; 25 using media::FFmpegVideoDecoder;
26 using media::FileDataSource; 26 using media::FileDataSource;
27 using media::FilterCollection; 27 using media::FilterCollection;
28 using media::Pipeline; 28 using media::Pipeline;
29 using media::ReferenceAudioRenderer;
30 29
31 namespace media { 30 namespace media {
32 31
33 Movie::Movie() 32 Movie::Movie()
34 : audio_manager_(AudioManager::Create()), 33 : audio_manager_(AudioManager::Create()),
35 enable_audio_(true), 34 enable_audio_(false),
36 enable_draw_(true), 35 enable_draw_(true),
37 enable_dump_yuv_file_(false), 36 enable_dump_yuv_file_(false),
38 enable_pause_(false), 37 enable_pause_(false),
39 max_threads_(0), 38 max_threads_(0),
40 play_rate_(1.0f), 39 play_rate_(1.0f),
41 movie_dib_(NULL), 40 movie_dib_(NULL),
42 movie_hwnd_(0) { 41 movie_hwnd_(0) {
43 } 42 }
44 43
45 Movie::~Movie() { 44 Movie::~Movie() {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
79 78
80 // Create filter collection. 79 // Create filter collection.
81 scoped_ptr<FilterCollection> collection(new FilterCollection()); 80 scoped_ptr<FilterCollection> collection(new FilterCollection());
82 collection->SetDemuxerFactory(scoped_ptr<DemuxerFactory>( 81 collection->SetDemuxerFactory(scoped_ptr<DemuxerFactory>(
83 new FFmpegDemuxerFactory(data_source, pipeline_loop))); 82 new FFmpegDemuxerFactory(data_source, pipeline_loop)));
84 collection->AddAudioDecoder(new FFmpegAudioDecoder( 83 collection->AddAudioDecoder(new FFmpegAudioDecoder(
85 message_loop_factory_->GetMessageLoop("AudioDecoderThread"))); 84 message_loop_factory_->GetMessageLoop("AudioDecoderThread")));
86 collection->AddVideoDecoder(new FFmpegVideoDecoder( 85 collection->AddVideoDecoder(new FFmpegVideoDecoder(
87 message_loop_factory_->GetMessageLoop("VideoDecoderThread"))); 86 message_loop_factory_->GetMessageLoop("VideoDecoderThread")));
88 87
89 if (enable_audio_) { 88 collection->AddAudioRenderer(new media::NullAudioRenderer());
90 collection->AddAudioRenderer(
91 new ReferenceAudioRenderer(audio_manager_));
92 } else {
93 collection->AddAudioRenderer(new media::NullAudioRenderer());
94 }
95 collection->AddVideoRenderer(video_renderer); 89 collection->AddVideoRenderer(video_renderer);
96 90
97 // Create and start our pipeline. 91 // Create and start our pipeline.
98 media::PipelineStatusNotification note; 92 media::PipelineStatusNotification note;
99 pipeline_->Start(collection.Pass(), url_utf8, note.Callback()); 93 pipeline_->Start(collection.Pass(), url_utf8, note.Callback());
100 94
101 // Wait until the pipeline is fully initialized. 95 // Wait until the pipeline is fully initialized.
102 note.Wait(); 96 note.Wait();
103 if (note.status() != PIPELINE_OK) 97 if (note.status() != PIPELINE_OK)
104 return false; 98 return false;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
149 enable_pause_ = pause; 143 enable_pause_ = pause;
150 Play(play_rate_); 144 Play(play_rate_);
151 } 145 }
152 146
153 // Get playback pause state. 147 // Get playback pause state.
154 bool Movie::GetPause() { 148 bool Movie::GetPause() {
155 return enable_pause_; 149 return enable_pause_;
156 } 150 }
157 151
158 void Movie::SetAudioEnable(bool enable_audio) { 152 void Movie::SetAudioEnable(bool enable_audio) {
159 enable_audio_ = enable_audio;
160 } 153 }
161 154
162 bool Movie::GetAudioEnable() { 155 bool Movie::GetAudioEnable() {
163 return enable_audio_; 156 return enable_audio_;
164 } 157 }
165 158
166 void Movie::SetDrawEnable(bool enable_draw) { 159 void Movie::SetDrawEnable(bool enable_draw) {
167 enable_draw_ = enable_draw; 160 enable_draw_ = enable_draw;
168 } 161 }
169 162
(...skipping 13 matching lines...) Expand all
183 void Movie::Close() { 176 void Movie::Close() {
184 if (pipeline_) { 177 if (pipeline_) {
185 pipeline_->Stop(media::PipelineStatusCB()); 178 pipeline_->Stop(media::PipelineStatusCB());
186 pipeline_ = NULL; 179 pipeline_ = NULL;
187 } 180 }
188 181
189 message_loop_factory_.reset(); 182 message_loop_factory_.reset();
190 } 183 }
191 184
192 } // namespace media 185 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698