1/* 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#include "webrtc/video_engine/test/auto_test/interface/vie_autotest_android.h" 12 13#include <android/log.h> 14#include <stdio.h> 15 16#include "webrtc/video_engine/test/auto_test/interface/vie_autotest.h" 17#include "webrtc/video_engine/test/auto_test/interface/vie_autotest_defines.h" 18 19int ViEAutoTestAndroid::RunAutotest(int testSelection, int subTestSelection, 20 void* window1, void* window2, 21 JavaVM* javaVM, void* env, void* context) { 22 ViEAutoTest vieAutoTest(window1, window2); 23 ViETest::Log("RunAutoTest(%d, %d)", testSelection, subTestSelection); 24 webrtc::VideoEngine::SetAndroidObjects(javaVM, static_cast<jobject>(context)); 25#ifndef WEBRTC_ANDROID_OPENSLES 26 // voice engine calls into ADM directly 27 webrtc::VoiceEngine::SetAndroidObjects(javaVM, env, context); 28#endif 29 30 if (subTestSelection == 0) { 31 // Run all selected test 32 switch (testSelection) { 33 case 0: 34 vieAutoTest.ViEStandardTest(); 35 break; 36 case 1: 37 vieAutoTest.ViEAPITest(); 38 break; 39 case 2: 40 vieAutoTest.ViEExtendedTest(); 41 break; 42 case 3: 43 vieAutoTest.ViELoopbackCall(); 44 break; 45 default: 46 break; 47 } 48 } 49 50 switch (testSelection) { 51 case 0: // Specific standard test 52 switch (subTestSelection) { 53 case 1: // base 54 vieAutoTest.ViEBaseStandardTest(); 55 break; 56 57 case 2: // capture 58 vieAutoTest.ViECaptureStandardTest(); 59 break; 60 61 case 3: // codec 62 vieAutoTest.ViECodecStandardTest(); 63 break; 64 65 case 6: // image process 66 vieAutoTest.ViEImageProcessStandardTest(); 67 break; 68 69#if 0 // vie_autotest_network.cc isn't actually pulled into the build at all! 70 case 7: // network 71 vieAutoTest.ViENetworkStandardTest(); 72 break; 73#endif 74 75 case 8: // Render 76 vieAutoTest.ViERenderStandardTest(); 77 break; 78 79 case 9: // RTP/RTCP 80 vieAutoTest.ViERtpRtcpStandardTest(); 81 break; 82 83 default: 84 break; 85 } 86 break; 87 88 case 1:// specific API 89 switch (subTestSelection) { 90 case 1: // base 91 vieAutoTest.ViEBaseAPITest(); 92 break; 93 94 case 2: // capture 95 vieAutoTest.ViECaptureAPITest(); 96 break; 97 98 case 3: // codec 99 vieAutoTest.ViECodecAPITest(); 100 break; 101 102 case 6: // image process 103 vieAutoTest.ViEImageProcessAPITest(); 104 break; 105 106#if 0 // vie_autotest_network.cc isn't actually pulled into the build at all! 107 case 7: // network 108 vieAutoTest.ViENetworkAPITest(); 109 break; 110#endif 111 112 case 8: // Render 113 vieAutoTest.ViERenderAPITest(); 114 break; 115 116 case 9: // RTP/RTCP 117 vieAutoTest.ViERtpRtcpAPITest(); 118 break; 119 case 10: 120 break; 121 122 default: 123 break; 124 } 125 break; 126 127 case 2:// specific extended 128 switch (subTestSelection) { 129 case 1: // base 130 vieAutoTest.ViEBaseExtendedTest(); 131 break; 132 133 case 2: // capture 134 vieAutoTest.ViECaptureExtendedTest(); 135 break; 136 137 case 3: // codec 138 vieAutoTest.ViECodecExtendedTest(); 139 break; 140 141 case 6: // image process 142 vieAutoTest.ViEImageProcessExtendedTest(); 143 break; 144 145 case 7: // Render 146 vieAutoTest.ViERenderExtendedTest(); 147 break; 148 149 case 8: // RTP/RTCP 150 vieAutoTest.ViERtpRtcpExtendedTest(); 151 break; 152 153 default: 154 break; 155 } 156 break; 157 158 case 3: 159 vieAutoTest.ViELoopbackCall(); 160 break; 161 162 default: 163 break; 164 } 165 166 return 0; 167} 168 169int main(int argc, char** argv) { 170 // TODO(leozwang): Add real tests here 171 return 0; 172} 173