Index: webrtc/modules/audio_processing/audio_processing_impl.h |
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.h b/webrtc/modules/audio_processing/audio_processing_impl.h |
index 542886ee10ee5e85567210ef72a3fd6f27306254..72dfbf419b27ee264d870c22ef5a71330ae4d7e0 100644 |
--- a/webrtc/modules/audio_processing/audio_processing_impl.h |
+++ b/webrtc/modules/audio_processing/audio_processing_impl.h |
@@ -176,8 +176,17 @@ class AudioProcessingImpl : public AudioProcessing { |
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 |