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

Side by Side Diff: webrtc/modules/audio_processing/audio_processing_impl.h

Issue 1844583003: Only split into bands when the reverse stream is analyzed in the APM (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Created 4 years, 8 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 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 void MaybeUpdateHistograms() EXCLUSIVE_LOCKS_REQUIRED(crit_capture_); 213 void MaybeUpdateHistograms() EXCLUSIVE_LOCKS_REQUIRED(crit_capture_);
214 214
215 // Render-side exclusive methods possibly running APM in a multi-threaded 215 // Render-side exclusive methods possibly running APM in a multi-threaded
216 // manner that are called with the render lock already acquired. 216 // manner that are called with the render lock already acquired.
217 // TODO(ekm): Remove once all clients updated to new interface. 217 // TODO(ekm): Remove once all clients updated to new interface.
218 int AnalyzeReverseStreamLocked(const float* const* src, 218 int AnalyzeReverseStreamLocked(const float* const* src,
219 const StreamConfig& input_config, 219 const StreamConfig& input_config,
220 const StreamConfig& output_config) 220 const StreamConfig& output_config)
221 EXCLUSIVE_LOCKS_REQUIRED(crit_render_); 221 EXCLUSIVE_LOCKS_REQUIRED(crit_render_);
222 bool is_rev_processed() const EXCLUSIVE_LOCKS_REQUIRED(crit_render_); 222 bool is_rev_processed() const EXCLUSIVE_LOCKS_REQUIRED(crit_render_);
223 bool is_rev_analyzed() const EXCLUSIVE_LOCKS_REQUIRED(crit_render_);
223 bool rev_synthesis_needed() const EXCLUSIVE_LOCKS_REQUIRED(crit_render_); 224 bool rev_synthesis_needed() const EXCLUSIVE_LOCKS_REQUIRED(crit_render_);
224 bool rev_analysis_needed() const EXCLUSIVE_LOCKS_REQUIRED(crit_render_); 225 bool rev_analysis_needed() const EXCLUSIVE_LOCKS_REQUIRED(crit_render_);
225 int ProcessReverseStreamLocked() EXCLUSIVE_LOCKS_REQUIRED(crit_render_); 226 int ProcessReverseStreamLocked() EXCLUSIVE_LOCKS_REQUIRED(crit_render_);
226 227
227 // Debug dump methods that are internal and called without locks. 228 // Debug dump methods that are internal and called without locks.
228 // TODO(peah): Make thread safe. 229 // TODO(peah): Make thread safe.
229 #ifdef WEBRTC_AUDIOPROC_DEBUG_DUMP 230 #ifdef WEBRTC_AUDIOPROC_DEBUG_DUMP
230 // TODO(andrew): make this more graceful. Ideally we would split this stuff 231 // TODO(andrew): make this more graceful. Ideally we would split this stuff
231 // out into a separate class with an "enabled" and "disabled" implementation. 232 // out into a separate class with an "enabled" and "disabled" implementation.
232 static int WriteMessageToDebugFile(FileWrapper* debug_file, 233 static int WriteMessageToDebugFile(FileWrapper* debug_file,
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
341 342
342 struct ApmRenderState { 343 struct ApmRenderState {
343 std::unique_ptr<AudioConverter> render_converter; 344 std::unique_ptr<AudioConverter> render_converter;
344 std::unique_ptr<AudioBuffer> render_audio; 345 std::unique_ptr<AudioBuffer> render_audio;
345 } render_ GUARDED_BY(crit_render_); 346 } render_ GUARDED_BY(crit_render_);
346 }; 347 };
347 348
348 } // namespace webrtc 349 } // namespace webrtc
349 350
350 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_AUDIO_PROCESSING_IMPL_H_ 351 #endif // WEBRTC_MODULES_AUDIO_PROCESSING_AUDIO_PROCESSING_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698