| /* |
| * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
| * |
| * Use of this source code is governed by a BSD-style license |
| * that can be found in the LICENSE file in the root of the source |
| * tree. An additional intellectual property rights grant can be found |
| * in the file PATENTS. All contributing project authors may |
| * be found in the AUTHORS file in the root of the source tree. |
| */ |
| |
| #include <stdio.h> |
| #include "webrtc/modules/audio_device/test/audio_device_test_defines.h" |
| #include "webrtc/modules/audio_device/test/func_test_manager.h" |
| |
| #ifndef __GNUC__ |
| // Disable warning message 4996 ('scanf': This function or variable may be unsafe) |
| #pragma warning( disable : 4996 ) |
| #endif |
| |
| using namespace webrtc; |
| |
| int func_test(int); |
| |
| // ---------------------------------------------------------------------------- |
| // main() |
| // ---------------------------------------------------------------------------- |
| |
| #if !defined(WEBRTC_IOS) |
| int main(int /*argc*/, char* /*argv*/[]) |
| { |
| func_test(0); |
| } |
| #endif |
| |
| // ---------------------------------------------------------------------------- |
| // func_test() |
| // ---------------------------------------------------------------------------- |
| |
| int func_test(int sel) |
| { |
| TEST_LOG("=========================================\n"); |
| TEST_LOG("Func Test of the WebRtcAudioDevice Module\n"); |
| TEST_LOG("=========================================\n\n"); |
| |
| // Initialize the counters here to get rid of "unused variables" warnings. |
| warningCount = 0; |
| |
| FuncTestManager funcMgr; |
| |
| funcMgr.Init(); |
| |
| bool quit(false); |
| |
| while (!quit) |
| { |
| TEST_LOG("---------------------------------------\n"); |
| TEST_LOG("Select type of test\n\n"); |
| TEST_LOG(" (0) Quit\n"); |
| TEST_LOG(" (1) All\n"); |
| TEST_LOG("- - - - - - - - - - - - - - - - - - - -\n"); |
| TEST_LOG(" (2) Audio-layer selection\n"); |
| TEST_LOG(" (3) Device enumeration\n"); |
| TEST_LOG(" (4) Device selection\n"); |
| TEST_LOG(" (5) Audio transport\n"); |
| TEST_LOG(" (6) Speaker volume\n"); |
| TEST_LOG(" (7) Microphone volume\n"); |
| TEST_LOG(" (8) Speaker mute\n"); |
| TEST_LOG(" (9) Microphone mute\n"); |
| TEST_LOG(" (10) Microphone boost\n"); |
| TEST_LOG(" (11) Microphone AGC\n"); |
| TEST_LOG(" (12) Loopback measurements\n"); |
| TEST_LOG(" (13) Device removal\n"); |
| TEST_LOG(" (14) Advanced mobile device API\n"); |
| TEST_LOG(" (66) XTEST\n"); |
| TEST_LOG("- - - - - - - - - - - - - - - - - - - -\n"); |
| TEST_LOG("\n: "); |
| |
| int selection(0); |
| enum TestType testType(TTInvalid); |
| |
| SHOW_MENU: |
| |
| if (sel > 0) |
| { |
| selection = sel; |
| } |
| else |
| { |
| if (scanf("%d", &selection) < 0) { |
| perror("Failed to get selection."); |
| } |
| } |
| |
| switch (selection) |
| { |
| case 0: |
| quit = true; |
| break; |
| case 1: |
| testType = TTAll; |
| break; |
| case 2: |
| testType = TTAudioLayerSelection; |
| break; |
| case 3: |
| testType = TTDeviceEnumeration; |
| break; |
| case 4: |
| testType = TTDeviceSelection; |
| break; |
| case 5: |
| testType = TTAudioTransport; |
| break; |
| case 6: |
| testType = TTSpeakerVolume; |
| break; |
| case 7: |
| testType = TTMicrophoneVolume; |
| break; |
| case 8: |
| testType = TTSpeakerMute; |
| break; |
| case 9: |
| testType = TTMicrophoneMute; |
| break; |
| case 10: |
| testType = TTMicrophoneBoost; |
| break; |
| case 11: |
| testType = TTMicrophoneAGC; |
| break; |
| case 12: |
| testType = TTLoopback; |
| break; |
| case 13: |
| testType = TTDeviceRemoval; |
| break; |
| case 14: |
| testType = TTMobileAPI; |
| break; |
| case 66: |
| testType = TTTest; |
| break; |
| default: |
| testType = TTInvalid; |
| TEST_LOG(": "); |
| goto SHOW_MENU; |
| break; |
| } |
| |
| funcMgr.DoTest(testType); |
| |
| if (sel > 0) |
| { |
| quit = true; |
| } |
| } |
| |
| funcMgr.Close(); |
| |
| return 0; |
| } |