Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(47)

Side by Side Diff: content/browser/speech/endpointer/endpointer_unittest.cc

Issue 9861019: Speech refactoring: Turned AudioChunk into a refcounted class (CL1.4) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/browser/speech/audio_buffer.h" 5 #include "content/browser/speech/audio_buffer.h"
6 #include "content/browser/speech/endpointer/endpointer.h" 6 #include "content/browser/speech/endpointer/endpointer.h"
7 #include "testing/gtest/include/gtest/gtest.h" 7 #include "testing/gtest/include/gtest/gtest.h"
8 8
9 namespace { 9 namespace {
10 const int kFrameRate = 50; // 20 ms long frames for AMR encoding. 10 const int kFrameRate = 50; // 20 ms long frames for AMR encoding.
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 endpointer.EndSession(); 110 endpointer.EndSession();
111 }; 111 };
112 112
113 // Test endpointer wrapper class. 113 // Test endpointer wrapper class.
114 class EndpointerFrameProcessor : public FrameProcessor { 114 class EndpointerFrameProcessor : public FrameProcessor {
115 public: 115 public:
116 explicit EndpointerFrameProcessor(Endpointer* endpointer) 116 explicit EndpointerFrameProcessor(Endpointer* endpointer)
117 : endpointer_(endpointer) {} 117 : endpointer_(endpointer) {}
118 118
119 EpStatus ProcessFrame(int64 time, int16* samples, int frame_size) { 119 EpStatus ProcessFrame(int64 time, int16* samples, int frame_size) {
120 AudioChunk frame(reinterpret_cast<uint8*>(samples), kFrameSize * 2, 2); 120 scoped_refptr<AudioChunk> frame(
121 endpointer_->ProcessAudio(frame, NULL); 121 new AudioChunk(reinterpret_cast<uint8*>(samples), kFrameSize * 2, 2));
122 endpointer_->ProcessAudio(*frame, NULL);
122 int64 ep_time; 123 int64 ep_time;
123 return endpointer_->Status(&ep_time); 124 return endpointer_->Status(&ep_time);
124 } 125 }
125 126
126 private: 127 private:
127 Endpointer* endpointer_; 128 Endpointer* endpointer_;
128 }; 129 };
129 130
130 TEST(EndpointerTest, TestEmbeddedEndpointerEvents) { 131 TEST(EndpointerTest, TestEmbeddedEndpointerEvents) {
131 const int kSampleRate = 8000; // 8 k samples per second for AMR encoding. 132 const int kSampleRate = 8000; // 8 k samples per second for AMR encoding.
132 133
133 Endpointer endpointer(kSampleRate); 134 Endpointer endpointer(kSampleRate);
134 const int64 kMillisecondsPerMicrosecond = 1000; 135 const int64 kMillisecondsPerMicrosecond = 1000;
135 const int64 short_timeout = 300 * kMillisecondsPerMicrosecond; 136 const int64 short_timeout = 300 * kMillisecondsPerMicrosecond;
136 endpointer.set_speech_input_possibly_complete_silence_length(short_timeout); 137 endpointer.set_speech_input_possibly_complete_silence_length(short_timeout);
137 const int64 long_timeout = 500 * kMillisecondsPerMicrosecond; 138 const int64 long_timeout = 500 * kMillisecondsPerMicrosecond;
138 endpointer.set_speech_input_complete_silence_length(long_timeout); 139 endpointer.set_speech_input_complete_silence_length(long_timeout);
139 endpointer.StartSession(); 140 endpointer.StartSession();
140 141
141 EndpointerFrameProcessor frame_processor(&endpointer); 142 EndpointerFrameProcessor frame_processor(&endpointer);
142 RunEndpointerEventsTest(&frame_processor); 143 RunEndpointerEventsTest(&frame_processor);
143 144
144 endpointer.EndSession(); 145 endpointer.EndSession();
145 } 146 }
146 147
147 } // namespace speech 148 } // namespace speech
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698