Index: media/audio/audio_input_controller.cc |
diff --git a/media/audio/audio_input_controller.cc b/media/audio/audio_input_controller.cc |
index c49cb34f342a90baf88fa0eac38b70886db84486..72fb83b49ae26a4f4f57761bbda7ef449e96c801 100644 |
--- a/media/audio/audio_input_controller.cc |
+++ b/media/audio/audio_input_controller.cc |
@@ -120,9 +120,13 @@ scoped_refptr<AudioInputController> AudioInputController::Create( |
// Create and open a new audio input stream from the existing |
// audio-device thread. |
- if (!controller->task_runner_->PostTask(FROM_HERE, |
- base::Bind(&AudioInputController::DoCreate, controller, |
- base::Unretained(audio_manager), params, device_id))) { |
+ if (!controller->task_runner_->PostTask( |
+ FROM_HERE, |
+ base::Bind(&AudioInputController::DoCreate, |
+ controller, |
+ base::Unretained(audio_manager), |
+ params, |
+ device_id))) { |
controller = NULL; |
} |
@@ -151,9 +155,13 @@ scoped_refptr<AudioInputController> AudioInputController::CreateLowLatency( |
// Create and open a new audio input stream from the existing |
// audio-device thread. Use the provided audio-input device. |
- if (!controller->task_runner_->PostTask(FROM_HERE, |
- base::Bind(&AudioInputController::DoCreateForLowLatency, controller, |
- base::Unretained(audio_manager), params, device_id))) { |
+ if (!controller->task_runner_->PostTask( |
+ FROM_HERE, |
+ base::Bind(&AudioInputController::DoCreateForLowLatency, |
+ controller, |
+ base::Unretained(audio_manager), |
+ params, |
+ device_id))) { |
controller = NULL; |
} |
@@ -220,12 +228,15 @@ void AudioInputController::DoCreate(AudioManager* audio_manager, |
const std::string& device_id) { |
DCHECK(task_runner_->BelongsToCurrentThread()); |
SCOPED_UMA_HISTOGRAM_TIMER("Media.AudioInputController.CreateTime"); |
+ if (handler_) |
+ handler_->OnLog(this, "AIC::DoCreate"); |
#if defined(AUDIO_POWER_MONITORING) |
// Create the audio (power) level meter given the provided audio parameters. |
// An AudioBus is also needed to wrap the raw data buffer from the native |
// layer to match AudioPowerMonitor::Scan(). |
// TODO(henrika): Remove use of extra AudioBus. See http://crbug.com/375155. |
+ last_audio_level_log_time_ = base::TimeTicks::Now(); |
audio_level_.reset(new media::AudioPowerMonitor( |
params.sample_rate(), |
TimeDelta::FromMilliseconds(kPowerMeasurementTimeConstantMilliseconds))); |
@@ -315,6 +326,9 @@ void AudioInputController::DoRecord() { |
state_ = RECORDING; |
} |
+ if (handler_) |
+ handler_->OnLog(this, "AIC::DoRecord"); |
+ |
if (no_data_timer_) { |
// Start the data timer. Once |kTimerResetIntervalSeconds| have passed, |
// a callback to FirstCheckForNoData() is made. |
@@ -333,6 +347,9 @@ void AudioInputController::DoClose() { |
if (state_ == CLOSED) |
return; |
+ if (handler_) |
+ handler_->OnLog(this, "AIC::DoClose"); |
+ |
// Delete the timer on the same thread that created it. |
no_data_timer_.reset(); |
@@ -400,6 +417,11 @@ void AudioInputController::FirstCheckForNoData() { |
LogCaptureStartupResult(GetDataIsActive() ? |
CAPTURE_STARTUP_OK : |
CAPTURE_STARTUP_NO_DATA_CALLBACK); |
+ if (handler_) { |
+ handler_->OnLog(this, GetDataIsActive() ? |
+ "AIC::FirstCheckForNoData => data is active" : |
+ "AIC::FirstCheckForNoData => data is NOT active"); |
+ } |
DoCheckForNoData(); |
} |