| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_DEVICE_IMPL_H_ | 5 #ifndef CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_DEVICE_IMPL_H_ |
| 6 #define CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_DEVICE_IMPL_H_ | 6 #define CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_DEVICE_IMPL_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 // AudioInputController::DoSetAutomaticGainControl(true) | 115 // AudioInputController::DoSetAutomaticGainControl(true) |
| 116 // AudioInputStream::SetAutomaticGainControl(true) | 116 // AudioInputStream::SetAutomaticGainControl(true) |
| 117 // | | 117 // | |
| 118 // AGC is now enabled in the media layer and streaming starts (details omitted). | 118 // AGC is now enabled in the media layer and streaming starts (details omitted). |
| 119 // The figure below illustrates the AGC scheme which is active in combination | 119 // The figure below illustrates the AGC scheme which is active in combination |
| 120 // with the default media flow explained earlier. | 120 // with the default media flow explained earlier. |
| 121 // | | 121 // | |
| 122 // [browser] | 122 // [browser] |
| 123 // | | 123 // | |
| 124 // AudioInputStream::(Capture thread loop) | 124 // AudioInputStream::(Capture thread loop) |
| 125 // AudioInputStreamImpl::QueryAgcVolume() => new volume once per second | 125 // AgcAudioStream<AudioInputStream>::GetAgcVolume() => get latest mic volume |
| 126 // AudioInputData::OnData(..., volume) | 126 // AudioInputData::OnData(..., volume) |
| 127 // AudioInputController::OnData(..., volume) | 127 // AudioInputController::OnData(..., volume) |
| 128 // AudioInputSyncWriter::Write(..., volume) | 128 // AudioInputSyncWriter::Write(..., volume) |
| 129 // | | 129 // | |
| 130 // [volume | size | data] is sent to the renderer [shared memory] | 130 // [volume | size | data] is sent to the renderer [shared memory] |
| 131 // | | 131 // | |
| 132 // [renderer] | 132 // [renderer] |
| 133 // | | 133 // | |
| 134 // AudioInputDevice::AudioThreadCallback::Process() | 134 // AudioInputDevice::AudioThreadCallback::Process() |
| 135 // WebRtcAudioDeviceImpl::Capture(..., volume) | 135 // WebRtcAudioDeviceImpl::Capture(..., volume) |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 382 // Stores latest microphone volume received in a CaptureData() callback. | 382 // Stores latest microphone volume received in a CaptureData() callback. |
| 383 // Range is [0, 255]. | 383 // Range is [0, 255]. |
| 384 uint32_t microphone_volume_; | 384 uint32_t microphone_volume_; |
| 385 | 385 |
| 386 DISALLOW_COPY_AND_ASSIGN(WebRtcAudioDeviceImpl); | 386 DISALLOW_COPY_AND_ASSIGN(WebRtcAudioDeviceImpl); |
| 387 }; | 387 }; |
| 388 | 388 |
| 389 } // namespace content | 389 } // namespace content |
| 390 | 390 |
| 391 #endif // CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_DEVICE_IMPL_H_ | 391 #endif // CONTENT_RENDERER_MEDIA_WEBRTC_AUDIO_DEVICE_IMPL_H_ |
| OLD | NEW |