Preparational work before introducing the locks in order to harmonize the code:
-Moved the initialize function
-Moved api_format into the shared state
BUG=
Review URL: https://codereview.webrtc.org/1413093002
Cr-Commit-Position: refs/heads/master@{#10668}
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.h b/webrtc/modules/audio_processing/audio_processing_impl.h
index 542886e..72dfbf4 100644
--- a/webrtc/modules/audio_processing/audio_processing_impl.h
+++ b/webrtc/modules/audio_processing/audio_processing_impl.h
@@ -176,8 +176,17 @@
std::string last_serialized_config_;
#endif
- // Format of processing streams at input/output call sites.
- ProcessingConfig api_format_;
+ // State that is written to while holding both the render and capture locks
+ // but can be read while holding only one of the locks.
+ struct SharedState {
+ SharedState()
+ : // Format of processing streams at input/output call sites.
+ api_format_({{{kSampleRate16kHz, 1, false},
+ {kSampleRate16kHz, 1, false},
+ {kSampleRate16kHz, 1, false},
+ {kSampleRate16kHz, 1, false}}}) {}
+ ProcessingConfig api_format_;
+ } shared_state_;
// Only the rate and samples fields of fwd_proc_format_ are used because the
// forward processing number of channels is mutable and is tracked by the