OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "content/renderer/media/media_stream_audio_processor_options.h" | 5 #include "content/renderer/media/media_stream_audio_processor_options.h" |
6 | 6 |
7 #include "base/files/file_path.h" | 7 #include "base/files/file_path.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
10 #include "base/strings/utf_string_conversions.h" | 10 #include "base/strings/utf_string_conversions.h" |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
137 // Configure the update period to 100ms (10 * 10ms) in the typing detector. | 137 // Configure the update period to 100ms (10 * 10ms) in the typing detector. |
138 typing_detector->SetParameters(0, 0, 0, 0, 0, 10); | 138 typing_detector->SetParameters(0, 0, 0, 0, 0, 10); |
139 } | 139 } |
140 | 140 |
141 void EnableExperimentalEchoCancellation(AudioProcessing* audio_processing) { | 141 void EnableExperimentalEchoCancellation(AudioProcessing* audio_processing) { |
142 webrtc::Config config; | 142 webrtc::Config config; |
143 config.Set<webrtc::DelayCorrection>(new webrtc::DelayCorrection(true)); | 143 config.Set<webrtc::DelayCorrection>(new webrtc::DelayCorrection(true)); |
144 audio_processing->SetExtraOptions(config); | 144 audio_processing->SetExtraOptions(config); |
145 } | 145 } |
146 | 146 |
147 void StartAecDump(AudioProcessing* audio_processing) { | 147 void StartEchoCancellationDump(AudioProcessing* audio_processing, |
148 // TODO(grunell): Figure out a more suitable directory for the audio dump | 148 const base::PlatformFile& aec_dump_file) { |
149 // data. | 149 DCHECK_NE(aec_dump_file, base::kInvalidPlatformFileValue); |
150 base::FilePath path; | |
151 #if defined(CHROMEOS) | |
152 PathService::Get(base::DIR_TEMP, &path); | |
153 #elif defined(ANDROID) | |
154 path = base::FilePath(FILE_PATH_LITERAL("sdcard")); | |
155 #else | |
156 PathService::Get(base::DIR_EXE, &path); | |
157 #endif | |
158 base::FilePath file = path.Append(FILE_PATH_LITERAL("audio.aecdump")); | |
159 | 150 |
160 #if defined(OS_WIN) | 151 FILE* handle = base::FdopenPlatformFile(aec_dump_file, "w"); |
Henrik Grunell
2014/03/06 10:12:20
Change "handle" -> "file_stream" or "stream".
no longer working on chromium
2014/03/06 18:57:21
Done.
| |
161 const std::string file_name = base::WideToUTF8(file.value()); | 152 if (!handle) { |
162 #else | 153 LOG(ERROR) << "Failed to open AEC dump file"; |
163 const std::string file_name = file.value(); | 154 return; |
164 #endif | 155 } |
165 if (audio_processing->StartDebugRecording(file_name.c_str())) | 156 |
157 if (audio_processing->StartDebugRecording(handle)) | |
166 DLOG(ERROR) << "Fail to start AEC debug recording"; | 158 DLOG(ERROR) << "Fail to start AEC debug recording"; |
167 } | 159 } |
168 | 160 |
169 void StopAecDump(AudioProcessing* audio_processing) { | 161 void StopEchoCancellationDump(AudioProcessing* audio_processing) { |
170 if (audio_processing->StopDebugRecording()) | 162 if (audio_processing->StopDebugRecording()) |
171 DLOG(ERROR) << "Fail to stop AEC debug recording"; | 163 DLOG(ERROR) << "Fail to stop AEC debug recording"; |
172 } | 164 } |
173 | 165 |
174 void EnableAutomaticGainControl(AudioProcessing* audio_processing) { | 166 void EnableAutomaticGainControl(AudioProcessing* audio_processing) { |
175 #if defined(OS_ANDROID) || defined(OS_IOS) | 167 #if defined(OS_ANDROID) || defined(OS_IOS) |
176 const webrtc::GainControl::Mode mode = webrtc::GainControl::kFixedDigital; | 168 const webrtc::GainControl::Mode mode = webrtc::GainControl::kFixedDigital; |
177 #else | 169 #else |
178 const webrtc::GainControl::Mode mode = webrtc::GainControl::kAdaptiveAnalog; | 170 const webrtc::GainControl::Mode mode = webrtc::GainControl::kAdaptiveAnalog; |
179 #endif | 171 #endif |
180 int err = audio_processing->gain_control()->set_mode(mode); | 172 int err = audio_processing->gain_control()->set_mode(mode); |
181 err |= audio_processing->gain_control()->Enable(true); | 173 err |= audio_processing->gain_control()->Enable(true); |
182 CHECK_EQ(err, 0); | 174 CHECK_EQ(err, 0); |
183 } | 175 } |
184 | 176 |
185 } // namespace content | 177 } // namespace content |
OLD | NEW |