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