| Index: webrtc/modules/audio_device/audio_device_buffer.h | 
| diff --git a/webrtc/modules/audio_device/audio_device_buffer.h b/webrtc/modules/audio_device/audio_device_buffer.h | 
| index 5c4a0638b321fbd9f804a311134dfdaa352b8071..5805db7743c7f7ccc43d4c84ee1604dfa019d33f 100644 | 
| --- a/webrtc/modules/audio_device/audio_device_buffer.h | 
| +++ b/webrtc/modules/audio_device/audio_device_buffer.h | 
| @@ -11,6 +11,7 @@ | 
| #ifndef WEBRTC_MODULES_AUDIO_DEVICE_AUDIO_DEVICE_BUFFER_H_ | 
| #define WEBRTC_MODULES_AUDIO_DEVICE_AUDIO_DEVICE_BUFFER_H_ | 
|  | 
| +#include "webrtc/base/buffer.h" | 
| #include "webrtc/base/criticalsection.h" | 
| #include "webrtc/base/task_queue.h" | 
| #include "webrtc/base/thread_checker.h" | 
| @@ -19,8 +20,6 @@ | 
| #include "webrtc/typedefs.h" | 
|  | 
| namespace webrtc { | 
| -class CriticalSectionWrapper; | 
| - | 
| // Delta times between two successive playout callbacks are limited to this | 
| // value before added to an internal array. | 
| const size_t kMaxDeltaTimeInMs = 500; | 
| @@ -73,12 +72,6 @@ class AudioDeviceBuffer { | 
| int32_t SetTypingStatus(bool typing_status); | 
|  | 
| private: | 
| -  // Playout and recording parameters can change on the fly. e.g. at device | 
| -  // switch. These methods ensures that the callback methods always use the | 
| -  // latest parameters. | 
| -  void UpdatePlayoutParameters(); | 
| -  void UpdateRecordingParameters(); | 
| - | 
| // Posts the first delayed task in the task queue and starts the periodic | 
| // timer. | 
| void StartTimer(); | 
| @@ -106,8 +99,8 @@ class AudioDeviceBuffer { | 
|  | 
| // TODO(henrika): given usage of thread checker, it should be possible to | 
| // remove all locks in this class. | 
| -  rtc::CriticalSection _critSect; | 
| -  rtc::CriticalSection _critSectCb; | 
| +  rtc::CriticalSection lock_; | 
| +  rtc::CriticalSection lock_cb_; | 
|  | 
| // Task queue used to invoke LogStats() periodically. Tasks are executed on a | 
| // worker thread but it does not necessarily have to be the same thread for | 
| @@ -125,28 +118,17 @@ class AudioDeviceBuffer { | 
| size_t rec_channels_; | 
| size_t play_channels_; | 
|  | 
| -  // selected recording channel (left/right/both) | 
| -  AudioDeviceModule::ChannelType rec_channel_; | 
| - | 
| // Number of bytes per audio sample (2 or 4). | 
| size_t rec_bytes_per_sample_; | 
| size_t play_bytes_per_sample_; | 
|  | 
| -  // Number of audio samples/bytes per 10ms. | 
| -  size_t rec_samples_per_10ms_; | 
| -  size_t rec_bytes_per_10ms_; | 
| -  size_t play_samples_per_10ms_; | 
| -  size_t play_bytes_per_10ms_; | 
| - | 
| -  // Buffer used for recorded audio samples. Size is currently fixed | 
| -  // but it should be changed to be dynamic and correspond to | 
| -  // |play_bytes_per_10ms_|. TODO(henrika): avoid using fixed (max) size. | 
| -  std::unique_ptr<int8_t[]> rec_buffer_; | 
| - | 
| -  // Buffer used for audio samples to be played out. Size is currently fixed | 
| -  // but it should be changed to be dynamic and correspond to | 
| -  // |play_bytes_per_10ms_|. TODO(henrika): avoid using fixed (max) size. | 
| -  std::unique_ptr<int8_t[]> play_buffer_; | 
| +  // Byte buffer used for recorded audio samples. Size can be changed | 
| +  // dynamically. | 
| +  rtc::Buffer rec_buffer_; | 
| + | 
| +  // Buffer used for audio samples to be played out. Size can be changed | 
| +  // dynamically. | 
| +  rtc::Buffer play_buffer_; | 
|  | 
| // AGC parameters. | 
| uint32_t current_mic_level_; | 
|  |