blob: 5fb726d47f260759b458090dbd374f2e209cb2cb [file] [log] [blame]
andrew@webrtc.orga7b57da2012-10-22 18:19:23 +00001/*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 *
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
6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree.
9 */
10
11#ifndef WEBRTC_COMMON_AUDIO_VAD_VAD_UNITTEST_H
12#define WEBRTC_COMMON_AUDIO_VAD_VAD_UNITTEST_H
13
14#include <stddef.h> // size_t
15
pbos@webrtc.orgabf0cd82013-05-27 09:49:58 +000016#include "testing/gtest/include/gtest/gtest.h"
andrew@webrtc.orga7b57da2012-10-22 18:19:23 +000017
pbos@webrtc.orgabf0cd82013-05-27 09:49:58 +000018#include "webrtc/typedefs.h"
andrew@webrtc.orga7b57da2012-10-22 18:19:23 +000019
20namespace {
21
22// Modes we support
23const int kModes[] = { 0, 1, 2, 3 };
24const size_t kModesSize = sizeof(kModes) / sizeof(*kModes);
25
26// Rates we support.
27const int kRates[] = { 8000, 12000, 16000, 24000, 32000, 48000 };
28const size_t kRatesSize = sizeof(kRates) / sizeof(*kRates);
29
30// Frame lengths we support.
31const int kMaxFrameLength = 1440;
32const int kFrameLengths[] = { 80, 120, 160, 240, 320, 480, 640, 960,
33 kMaxFrameLength };
34const size_t kFrameLengthsSize = sizeof(kFrameLengths) / sizeof(*kFrameLengths);
35
36} // namespace
37
38class VadTest : public ::testing::Test {
39 protected:
40 VadTest();
41 virtual void SetUp();
42 virtual void TearDown();
43
44 // Returns true if the rate and frame length combination is valid.
45 bool ValidRatesAndFrameLengths(int rate, int frame_length);
46};
47
48#endif // WEBRTC_COMMON_AUDIO_VAD_VAD_UNITTEST_H