Index: trunk/src/content/browser/speech/speech_recognizer_impl_unittest.cc |
=================================================================== |
--- trunk/src/content/browser/speech/speech_recognizer_impl_unittest.cc (revision 277811) |
+++ trunk/src/content/browser/speech/speech_recognizer_impl_unittest.cc (working copy) |
@@ -13,7 +13,6 @@ |
#include "media/audio/fake_audio_output_stream.h" |
#include "media/audio/mock_audio_manager.h" |
#include "media/audio/test_audio_input_controller_factory.h" |
-#include "media/base/audio_bus.h" |
#include "net/base/net_errors.h" |
#include "net/url_request/test_url_fetcher_factory.h" |
#include "net/url_request/url_request_status.h" |
@@ -67,13 +66,6 @@ |
ChannelLayoutToChannelCount(SpeechRecognizerImpl::kChannelLayout) * |
SpeechRecognizerImpl::kNumBitsPerAudioSample) / (8 * 1000); |
audio_packet_.resize(audio_packet_length_bytes); |
- |
- const int channels = |
- ChannelLayoutToChannelCount(SpeechRecognizerImpl::kChannelLayout); |
- bytes_per_sample_ = SpeechRecognizerImpl::kNumBitsPerAudioSample / 8; |
- const int frames = audio_packet_length_bytes / channels / bytes_per_sample_; |
- audio_bus_ = media::AudioBus::Create(channels, frames); |
- audio_bus_->Zero(); |
} |
void CheckEventsConsistency() { |
@@ -155,17 +147,10 @@ |
AudioInputController::set_factory_for_testing(NULL); |
} |
- void CopyPacketToAudioBus() { |
- // Copy the created signal into an audio bus in a deinterleaved format. |
- audio_bus_->FromInterleaved( |
- &audio_packet_[0], audio_bus_->frames(), bytes_per_sample_); |
- } |
- |
void FillPacketWithTestWaveform() { |
// Fill the input with a simple pattern, a 125Hz sawtooth waveform. |
for (size_t i = 0; i < audio_packet_.size(); ++i) |
audio_packet_[i] = static_cast<uint8>(i); |
- CopyPacketToAudioBus(); |
} |
void FillPacketWithNoise() { |
@@ -175,7 +160,6 @@ |
value += factor; |
audio_packet_[i] = value % 100; |
} |
- CopyPacketToAudioBus(); |
} |
protected: |
@@ -194,8 +178,6 @@ |
net::TestURLFetcherFactory url_fetcher_factory_; |
TestAudioInputControllerFactory audio_input_controller_factory_; |
std::vector<uint8> audio_packet_; |
- scoped_ptr<media::AudioBus> audio_bus_; |
- int bytes_per_sample_; |
float volume_; |
float noise_volume_; |
}; |
@@ -240,7 +222,8 @@ |
// full recording to complete. |
const size_t kNumChunks = 5; |
for (size_t i = 0; i < kNumChunks; ++i) { |
- controller->event_handler()->OnData(controller, audio_bus_.get()); |
+ controller->event_handler()->OnData(controller, &audio_packet_[0], |
+ audio_packet_.size()); |
base::MessageLoop::current()->RunUntilIdle(); |
net::TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(0); |
ASSERT_TRUE(fetcher); |
@@ -281,7 +264,8 @@ |
TestAudioInputController* controller = |
audio_input_controller_factory_.controller(); |
ASSERT_TRUE(controller); |
- controller->event_handler()->OnData(controller, audio_bus_.get()); |
+ controller->event_handler()->OnData(controller, &audio_packet_[0], |
+ audio_packet_.size()); |
base::MessageLoop::current()->RunUntilIdle(); |
recognizer_->AbortRecognition(); |
base::MessageLoop::current()->RunUntilIdle(); |
@@ -301,7 +285,8 @@ |
TestAudioInputController* controller = |
audio_input_controller_factory_.controller(); |
ASSERT_TRUE(controller); |
- controller->event_handler()->OnData(controller, audio_bus_.get()); |
+ controller->event_handler()->OnData(controller, &audio_packet_[0], |
+ audio_packet_.size()); |
base::MessageLoop::current()->RunUntilIdle(); |
net::TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(0); |
ASSERT_TRUE(fetcher); |
@@ -338,7 +323,8 @@ |
TestAudioInputController* controller = |
audio_input_controller_factory_.controller(); |
ASSERT_TRUE(controller); |
- controller->event_handler()->OnData(controller, audio_bus_.get()); |
+ controller->event_handler()->OnData(controller, &audio_packet_[0], |
+ audio_packet_.size()); |
base::MessageLoop::current()->RunUntilIdle(); |
net::TestURLFetcher* fetcher = url_fetcher_factory_.GetFetcherByID(0); |
ASSERT_TRUE(fetcher); |
@@ -391,7 +377,8 @@ |
TestAudioInputController* controller = |
audio_input_controller_factory_.controller(); |
ASSERT_TRUE(controller); |
- controller->event_handler()->OnData(controller, audio_bus_.get()); |
+ controller->event_handler()->OnData(controller, &audio_packet_[0], |
+ audio_packet_.size()); |
controller->event_handler()->OnError(controller, |
AudioInputController::UNKNOWN_ERROR); |
base::MessageLoop::current()->RunUntilIdle(); |
@@ -416,7 +403,8 @@ |
GoogleOneShotRemoteEngine::kAudioPacketIntervalMs + 1; |
// The vector is already filled with zero value samples on create. |
for (int i = 0; i < num_packets; ++i) { |
- controller->event_handler()->OnData(controller, audio_bus_.get()); |
+ controller->event_handler()->OnData(controller, &audio_packet_[0], |
+ audio_packet_.size()); |
} |
base::MessageLoop::current()->RunUntilIdle(); |
EXPECT_TRUE(recognition_started_); |
@@ -444,12 +432,14 @@ |
// The vector is already filled with zero value samples on create. |
for (int i = 0; i < num_packets / 2; ++i) { |
- controller->event_handler()->OnData(controller, audio_bus_.get()); |
+ controller->event_handler()->OnData(controller, &audio_packet_[0], |
+ audio_packet_.size()); |
} |
FillPacketWithTestWaveform(); |
for (int i = 0; i < num_packets / 2; ++i) { |
- controller->event_handler()->OnData(controller, audio_bus_.get()); |
+ controller->event_handler()->OnData(controller, &audio_packet_[0], |
+ audio_packet_.size()); |
} |
base::MessageLoop::current()->RunUntilIdle(); |
@@ -480,18 +470,21 @@ |
GoogleOneShotRemoteEngine::kAudioPacketIntervalMs; |
FillPacketWithNoise(); |
for (int i = 0; i < num_packets; ++i) { |
- controller->event_handler()->OnData(controller, audio_bus_.get()); |
+ controller->event_handler()->OnData(controller, &audio_packet_[0], |
+ audio_packet_.size()); |
} |
base::MessageLoop::current()->RunUntilIdle(); |
EXPECT_EQ(-1.0f, volume_); // No audio volume set yet. |
// The vector is already filled with zero value samples on create. |
- controller->event_handler()->OnData(controller, audio_bus_.get()); |
+ controller->event_handler()->OnData(controller, &audio_packet_[0], |
+ audio_packet_.size()); |
base::MessageLoop::current()->RunUntilIdle(); |
EXPECT_FLOAT_EQ(0.74939233f, volume_); |
FillPacketWithTestWaveform(); |
- controller->event_handler()->OnData(controller, audio_bus_.get()); |
+ controller->event_handler()->OnData(controller, &audio_packet_[0], |
+ audio_packet_.size()); |
base::MessageLoop::current()->RunUntilIdle(); |
EXPECT_NEAR(0.89926866f, volume_, 0.00001f); |
EXPECT_FLOAT_EQ(0.75071919f, noise_volume_); |