| Index: media/audio/audio_input_controller.cc
|
| diff --git a/media/audio/audio_input_controller.cc b/media/audio/audio_input_controller.cc
|
| index 99bb420e89553a84e6292a2fa74d404b5eed91eb..2032972f520cfc7c1972b45c58250f95e479b58b 100644
|
| --- a/media/audio/audio_input_controller.cc
|
| +++ b/media/audio/audio_input_controller.cc
|
| @@ -148,10 +148,11 @@ void AudioInputController::DoCreate(AudioManager* audio_manager,
|
| DCHECK(!no_data_timer_.get());
|
| // Create the data timer which will call DoCheckForNoData(). The timer
|
| // is started in DoRecord() and restarted in each DoCheckForNoData() callback.
|
| - no_data_timer_.reset(new base::Timer(
|
| - FROM_HERE, base::TimeDelta::FromSeconds(kTimerInitialIntervalSeconds),
|
| - base::Bind(&AudioInputController::DoCheckForNoData,
|
| - base::Unretained(this)), false));
|
| + if (params.format() != AudioParameters::AUDIO_WEB_CONTENTS)
|
| + no_data_timer_.reset(new base::Timer(
|
| + FROM_HERE, base::TimeDelta::FromSeconds(kTimerInitialIntervalSeconds),
|
| + base::Bind(&AudioInputController::DoCheckForNoData,
|
| + base::Unretained(this)), false));
|
| state_ = kCreated;
|
| handler_->OnCreated(this);
|
| }
|
| @@ -169,7 +170,8 @@ void AudioInputController::DoRecord() {
|
|
|
| // Start the data timer. Once |kTimerResetIntervalSeconds| have passed,
|
| // a callback to DoCheckForNoData() is made.
|
| - no_data_timer_->Reset();
|
| + if (no_data_timer_.get())
|
| + no_data_timer_->Reset();
|
|
|
| stream_->Start(this);
|
| handler_->OnRecording(this);
|
| @@ -250,10 +252,11 @@ void AudioInputController::DoCheckForNoData() {
|
|
|
| // Restart the timer to ensure that we check the flag again in
|
| // |kTimerResetIntervalSeconds|.
|
| - no_data_timer_->Start(
|
| - FROM_HERE, base::TimeDelta::FromSeconds(kTimerResetIntervalSeconds),
|
| - base::Bind(&AudioInputController::DoCheckForNoData,
|
| - base::Unretained(this)));
|
| + if (no_data_timer_.get())
|
| + no_data_timer_->Start(
|
| + FROM_HERE, base::TimeDelta::FromSeconds(kTimerResetIntervalSeconds),
|
| + base::Bind(&AudioInputController::DoCheckForNoData,
|
| + base::Unretained(this)));
|
| }
|
|
|
| void AudioInputController::OnData(AudioInputStream* stream, const uint8* data,
|
|
|