1b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org/* 2b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 3b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * 4b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * Use of this source code is governed by a BSD-style license 5b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * that can be found in the LICENSE file in the root of the source 6b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * tree. An additional intellectual property rights grant can be found 7b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * in the file PATENTS. All contributing project authors may 8b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org * be found in the AUTHORS file in the root of the source tree. 9b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org */ 10b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 11281cff8cd679728fe395f7f0203c05e763c0c789pbos@webrtc.org#include "webrtc/video_engine/test/auto_test/interface/vie_autotest_android.h" 12b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 13b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#include <android/log.h> 14b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#include <stdio.h> 15b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 168d6e944bee3e0228ca0e52e23fabea8ed787d5ecandresp@webrtc.org#include "webrtc/modules/video_capture/video_capture_internal.h" 178d6e944bee3e0228ca0e52e23fabea8ed787d5ecandresp@webrtc.org#include "webrtc/modules/video_render/video_render_internal.h" 18281cff8cd679728fe395f7f0203c05e763c0c789pbos@webrtc.org#include "webrtc/video_engine/test/auto_test/interface/vie_autotest_defines.h" 198d6e944bee3e0228ca0e52e23fabea8ed787d5ecandresp@webrtc.org#include "webrtc/video_engine/test/auto_test/interface/vie_autotest.h" 20b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 21b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgint ViEAutoTestAndroid::RunAutotest(int testSelection, int subTestSelection, 22b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org void* window1, void* window2, 2381cd5ca677e30076888b865dc28b35ed293bb4bcfischman@webrtc.org JavaVM* javaVM, void* env, void* context) { 24b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ViEAutoTest vieAutoTest(window1, window2); 25b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org ViETest::Log("RunAutoTest(%d, %d)", testSelection, subTestSelection); 268d6e944bee3e0228ca0e52e23fabea8ed787d5ecandresp@webrtc.org webrtc::SetCaptureAndroidVM(javaVM, static_cast<jobject>(context)); 278d6e944bee3e0228ca0e52e23fabea8ed787d5ecandresp@webrtc.org webrtc::SetRenderAndroidVM(javaVM); 28b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#ifndef WEBRTC_ANDROID_OPENSLES 29b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // voice engine calls into ADM directly 30b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org webrtc::VoiceEngine::SetAndroidObjects(javaVM, env, context); 31b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org#endif 32b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 33b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org if (subTestSelection == 0) { 34b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // Run all selected test 35b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org switch (testSelection) { 36b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case 0: 37b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViEStandardTest(); 38b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 39b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case 1: 40b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViEAPITest(); 41b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 42b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case 2: 43b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViEExtendedTest(); 44b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 45b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case 3: 46b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViELoopbackCall(); 47b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 48b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org default: 49b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 50b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 51b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 52b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 53b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org switch (testSelection) { 54b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case 0: // Specific standard test 55b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org switch (subTestSelection) { 56b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case 1: // base 57b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViEBaseStandardTest(); 58b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 59b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 60b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case 2: // capture 61b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViECaptureStandardTest(); 62b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 63b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 64b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case 3: // codec 65b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViECodecStandardTest(); 66b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 67b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 680291c803da147cf113e829562f281479be8f2c11mflodman@webrtc.org case 6: // image process 69b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViEImageProcessStandardTest(); 70b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 71b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 7201d8e222e75d3ccd4fbe1d7f4085cc2025a626cdfischman@webrtc.org#if 0 // vie_autotest_network.cc isn't actually pulled into the build at all! 730291c803da147cf113e829562f281479be8f2c11mflodman@webrtc.org case 7: // network 74b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViENetworkStandardTest(); 75b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 7601d8e222e75d3ccd4fbe1d7f4085cc2025a626cdfischman@webrtc.org#endif 77b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 780291c803da147cf113e829562f281479be8f2c11mflodman@webrtc.org case 8: // Render 79b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViERenderStandardTest(); 80b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 81b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 820291c803da147cf113e829562f281479be8f2c11mflodman@webrtc.org case 9: // RTP/RTCP 83b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViERtpRtcpStandardTest(); 84b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 85b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 86b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org default: 87b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 88b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 89b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 90b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 91b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case 1:// specific API 92b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org switch (subTestSelection) { 93b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case 1: // base 94b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViEBaseAPITest(); 95b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 96b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 97b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case 2: // capture 98b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViECaptureAPITest(); 99b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 100b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 101b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case 3: // codec 102b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViECodecAPITest(); 103b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 104b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1050291c803da147cf113e829562f281479be8f2c11mflodman@webrtc.org case 6: // image process 106b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViEImageProcessAPITest(); 107b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 108b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 10901d8e222e75d3ccd4fbe1d7f4085cc2025a626cdfischman@webrtc.org#if 0 // vie_autotest_network.cc isn't actually pulled into the build at all! 1100291c803da147cf113e829562f281479be8f2c11mflodman@webrtc.org case 7: // network 111b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViENetworkAPITest(); 112b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 11301d8e222e75d3ccd4fbe1d7f4085cc2025a626cdfischman@webrtc.org#endif 114b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1150291c803da147cf113e829562f281479be8f2c11mflodman@webrtc.org case 8: // Render 116b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViERenderAPITest(); 117b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 118b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1190291c803da147cf113e829562f281479be8f2c11mflodman@webrtc.org case 9: // RTP/RTCP 120b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViERtpRtcpAPITest(); 121b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 1220291c803da147cf113e829562f281479be8f2c11mflodman@webrtc.org case 10: 123b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 124b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 125b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org default: 126b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 127b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 128b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 129b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 130b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case 2:// specific extended 131b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org switch (subTestSelection) { 132b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case 1: // base 133b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViEBaseExtendedTest(); 134b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 135b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 136b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case 2: // capture 137b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViECaptureExtendedTest(); 138b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 139b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 140b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case 3: // codec 141b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViECodecExtendedTest(); 142b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 143b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1440291c803da147cf113e829562f281479be8f2c11mflodman@webrtc.org case 6: // image process 145b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViEImageProcessExtendedTest(); 146b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 147b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1480291c803da147cf113e829562f281479be8f2c11mflodman@webrtc.org case 7: // Render 149b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViERenderExtendedTest(); 150b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 151b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 1520291c803da147cf113e829562f281479be8f2c11mflodman@webrtc.org case 8: // RTP/RTCP 153b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViERtpRtcpExtendedTest(); 154b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 155b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 156b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org default: 157b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 158b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 159b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 160b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 161b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org case 3: 162b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org vieAutoTest.ViELoopbackCall(); 163b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 164b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 165b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org default: 166b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org break; 167b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org } 168b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 169b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org return 0; 170b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 171b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org 172b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.orgint main(int argc, char** argv) { 173b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org // TODO(leozwang): Add real tests here 174b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org return 0; 175b015cbede88899f67a53fbbe581b02ce8e32794andrew@webrtc.org} 176