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 bf29bf36332003bb62bbae0cededa3a500fe1db0..c9db63994d1f2a5893f4c4eafff0f061ca65df07 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. |
kwiberg-webrtc
2015/10/26 11:02:46
No lock annotations. Will that show up in a later
peah-webrtc
2015/10/29 14:28:02
Yes, it will.
|
+ 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 |