| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 #include "chrome/browser/speech/speech_recognizer.h" | 5 #include "chrome/browser/speech/speech_recognizer.h" |
| 6 | 6 |
| 7 #include "base/ref_counted.h" | 7 #include "base/ref_counted.h" |
| 8 #include "base/scoped_ptr.h" | 8 #include "base/scoped_ptr.h" |
| 9 #include "base/time.h" | 9 #include "base/time.h" |
| 10 #include "chrome/browser/browser_thread.h" | 10 #include "chrome/browser/browser_thread.h" |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 142 DCHECK(!request_.get() || !request_->HasPendingRequest()); | 142 DCHECK(!request_.get() || !request_->HasPendingRequest()); |
| 143 | 143 |
| 144 // The endpointer needs to estimate the environment/background noise before | 144 // The endpointer needs to estimate the environment/background noise before |
| 145 // starting to treat the audio as user input. In |HandleOnData| we wait until | 145 // starting to treat the audio as user input. In |HandleOnData| we wait until |
| 146 // such time has passed before switching to user input mode. | 146 // such time has passed before switching to user input mode. |
| 147 endpointer_.SetEnvironmentEstimationMode(); | 147 endpointer_.SetEnvironmentEstimationMode(); |
| 148 | 148 |
| 149 int samples_per_packet = (kAudioSampleRate * kAudioPacketIntervalMs) / 1000; | 149 int samples_per_packet = (kAudioSampleRate * kAudioPacketIntervalMs) / 1000; |
| 150 DCHECK((samples_per_packet % encoder_->samples_per_frame()) == 0); | 150 DCHECK((samples_per_packet % encoder_->samples_per_frame()) == 0); |
| 151 AudioParameters params(AudioParameters::AUDIO_PCM_LINEAR, kNumAudioChannels, | 151 AudioParameters params(AudioParameters::AUDIO_PCM_LINEAR, kNumAudioChannels, |
| 152 kAudioSampleRate, kNumBitsPerAudioSample); | 152 kAudioSampleRate, kNumBitsPerAudioSample, |
| 153 audio_controller_ = | 153 samples_per_packet); |
| 154 AudioInputController::Create(this, params, samples_per_packet); | 154 audio_controller_ = AudioInputController::Create(this, params); |
| 155 DCHECK(audio_controller_.get()); | 155 DCHECK(audio_controller_.get()); |
| 156 VLOG(1) << "SpeechRecognizer starting record."; | 156 VLOG(1) << "SpeechRecognizer starting record."; |
| 157 num_samples_recorded_ = 0; | 157 num_samples_recorded_ = 0; |
| 158 audio_controller_->Record(); | 158 audio_controller_->Record(); |
| 159 | 159 |
| 160 return true; | 160 return true; |
| 161 } | 161 } |
| 162 | 162 |
| 163 void SpeechRecognizer::CancelRecognition() { | 163 void SpeechRecognizer::CancelRecognition() { |
| 164 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 164 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
| (...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 332 | 332 |
| 333 void SpeechRecognizer::InformErrorAndCancelRecognition(ErrorCode error) { | 333 void SpeechRecognizer::InformErrorAndCancelRecognition(ErrorCode error) { |
| 334 CancelRecognition(); | 334 CancelRecognition(); |
| 335 | 335 |
| 336 // Guard against the delegate freeing us until we finish our job. | 336 // Guard against the delegate freeing us until we finish our job. |
| 337 scoped_refptr<SpeechRecognizer> me(this); | 337 scoped_refptr<SpeechRecognizer> me(this); |
| 338 delegate_->OnRecognizerError(caller_id_, error); | 338 delegate_->OnRecognizerError(caller_id_, error); |
| 339 } | 339 } |
| 340 | 340 |
| 341 } // namespace speech_input | 341 } // namespace speech_input |
| OLD | NEW |