| 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
|
|
|