| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |    2  *  Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 
|    3  * |    3  * | 
|    4  *  Use of this source code is governed by a BSD-style license |    4  *  Use of this source code is governed by a BSD-style license | 
|    5  *  that can be found in the LICENSE file in the root of the source |    5  *  that can be found in the LICENSE file in the root of the source | 
|    6  *  tree. An additional intellectual property rights grant can be found |    6  *  tree. An additional intellectual property rights grant can be found | 
|    7  *  in the file PATENTS.  All contributing project authors may |    7  *  in the file PATENTS.  All contributing project authors may | 
|    8  *  be found in the AUTHORS file in the root of the source tree. |    8  *  be found in the AUTHORS file in the root of the source tree. | 
|    9  */ |    9  */ | 
|   10  |   10  | 
|   11 #include "webrtc/modules/audio_processing/agc/standalone_vad.h" |   11 #include "webrtc/modules/audio_processing/vad/standalone_vad.h" | 
|   12  |   12  | 
|   13 #include <string.h> |   13 #include <string.h> | 
|   14  |   14  | 
|   15 #include "gtest/gtest.h" |   15 #include "testing/gtest/include/gtest/gtest.h" | 
|   16 #include "webrtc/base/scoped_ptr.h" |   16 #include "webrtc/base/scoped_ptr.h" | 
|   17 #include "webrtc/modules/interface/module_common_types.h" |   17 #include "webrtc/modules/interface/module_common_types.h" | 
|   18 #include "webrtc/test/testsupport/fileutils.h" |   18 #include "webrtc/test/testsupport/fileutils.h" | 
|   19  |   19  | 
|   20 namespace webrtc { |   20 namespace webrtc { | 
|   21  |   21  | 
|   22 TEST(StandaloneVadTest, Api) { |   22 TEST(StandaloneVadTest, Api) { | 
|   23   rtc::scoped_ptr<StandaloneVad> vad(StandaloneVad::Create()); |   23   rtc::scoped_ptr<StandaloneVad> vad(StandaloneVad::Create()); | 
|   24   int16_t data[kLength10Ms] = { 0 }; |   24   int16_t data[kLength10Ms] = {0}; | 
|   25  |   25  | 
|   26   // Valid frame length (for 32 kHz rate), but not what the VAD is expecting. |   26   // Valid frame length (for 32 kHz rate), but not what the VAD is expecting. | 
|   27   EXPECT_EQ(-1, vad->AddAudio(data, 320)); |   27   EXPECT_EQ(-1, vad->AddAudio(data, 320)); | 
|   28  |   28  | 
|   29   const int kMaxNumFrames = 3; |   29   const int kMaxNumFrames = 3; | 
|   30   double p[kMaxNumFrames]; |   30   double p[kMaxNumFrames]; | 
|   31   for (int n = 0; n < kMaxNumFrames; n++) |   31   for (int n = 0; n < kMaxNumFrames; n++) | 
|   32     EXPECT_EQ(0, vad->AddAudio(data, kLength10Ms)); |   32     EXPECT_EQ(0, vad->AddAudio(data, kLength10Ms)); | 
|   33  |   33  | 
|   34   // Pretend |p| is shorter that it should be. |   34   // Pretend |p| is shorter that it should be. | 
| (...skipping 15 matching lines...) Expand all  Loading... | 
|   50  |   50  | 
|   51   // Valid mode. |   51   // Valid mode. | 
|   52   const int kMode = 2; |   52   const int kMode = 2; | 
|   53   EXPECT_EQ(0, vad->set_mode(kMode)); |   53   EXPECT_EQ(0, vad->set_mode(kMode)); | 
|   54   EXPECT_EQ(kMode, vad->mode()); |   54   EXPECT_EQ(kMode, vad->mode()); | 
|   55 } |   55 } | 
|   56  |   56  | 
|   57 TEST(StandaloneVadTest, ActivityDetection) { |   57 TEST(StandaloneVadTest, ActivityDetection) { | 
|   58   rtc::scoped_ptr<StandaloneVad> vad(StandaloneVad::Create()); |   58   rtc::scoped_ptr<StandaloneVad> vad(StandaloneVad::Create()); | 
|   59   const size_t kDataLength = kLength10Ms; |   59   const size_t kDataLength = kLength10Ms; | 
|   60   int16_t data[kDataLength] = { 0 }; |   60   int16_t data[kDataLength] = {0}; | 
|   61  |   61  | 
|   62   FILE* pcm_file = |   62   FILE* pcm_file = | 
|   63       fopen(test::ResourcePath("audio_processing/agc/agc_audio", "pcm").c_str(), |   63       fopen(test::ResourcePath("audio_processing/agc/agc_audio", "pcm").c_str(), | 
|   64             "rb"); |   64             "rb"); | 
|   65   ASSERT_TRUE(pcm_file != NULL); |   65   ASSERT_TRUE(pcm_file != NULL); | 
|   66  |   66  | 
|   67   FILE* reference_file = fopen( |   67   FILE* reference_file = fopen( | 
|   68       test::ResourcePath("audio_processing/agc/agc_vad", "dat").c_str(), "rb"); |   68       test::ResourcePath("audio_processing/agc/agc_vad", "dat").c_str(), "rb"); | 
|   69   ASSERT_TRUE(reference_file != NULL); |   69   ASSERT_TRUE(reference_file != NULL); | 
|   70  |   70  | 
| (...skipping 22 matching lines...) Expand all  Loading... | 
|   93       } else { |   93       } else { | 
|   94         // When inactive, probabilities are set to 0.01. |   94         // When inactive, probabilities are set to 0.01. | 
|   95         for (int n = 0; n < kNumVadFramesToProcess; n++) |   95         for (int n = 0; n < kNumVadFramesToProcess; n++) | 
|   96           EXPECT_EQ(0.01, p[n]); |   96           EXPECT_EQ(0.01, p[n]); | 
|   97       } |   97       } | 
|   98     } |   98     } | 
|   99   } |   99   } | 
|  100   fclose(reference_file); |  100   fclose(reference_file); | 
|  101   fclose(pcm_file); |  101   fclose(pcm_file); | 
|  102 } |  102 } | 
|  103 } |  103 }  // namespace webrtc | 
| OLD | NEW |