diff --git a/src/video_engine/main/test/android_test/jni/org_webrtc_videoengineapp_vie_android_java_api.h b/src/video_engine/main/test/android_test/jni/org_webrtc_videoengineapp_vie_android_java_api.h
index 504a1ca387..939298d192 100644
--- a/src/video_engine/main/test/android_test/jni/org_webrtc_videoengineapp_vie_android_java_api.h
+++ b/src/video_engine/main/test/android_test/jni/org_webrtc_videoengineapp_vie_android_java_api.h
@@ -408,18 +408,18 @@ JNIEXPORT jint JNICALL Java_org_webrtc_videoengineapp_ViEAndroidJavaAPI_VoE_1Set
/*
* Class: org_webrtc_videoengineapp_ViEAndroidJavaAPI
* Method: VoE_SetECStatus
- * Signature: (ZIII)I
+ * Signature: (Z)I
*/
JNIEXPORT jint JNICALL Java_org_webrtc_videoengineapp_ViEAndroidJavaAPI_VoE_1SetECStatus
- (JNIEnv *, jobject, jboolean, jint, jint, jint);
+ (JNIEnv *, jobject, jboolean);
/*
* Class: org_webrtc_videoengineapp_ViEAndroidJavaAPI
* Method: VoE_SetAGCStatus
- * Signature: (ZI)I
+ * Signature: (Z)I
*/
JNIEXPORT jint JNICALL Java_org_webrtc_videoengineapp_ViEAndroidJavaAPI_VoE_1SetAGCStatus
- (JNIEnv *, jobject, jboolean, jint);
+ (JNIEnv *, jobject, jboolean);
/*
* Class: org_webrtc_videoengineapp_ViEAndroidJavaAPI
@@ -427,7 +427,7 @@ JNIEXPORT jint JNICALL Java_org_webrtc_videoengineapp_ViEAndroidJavaAPI_VoE_1Set
* Signature: (ZI)I
*/
JNIEXPORT jint JNICALL Java_org_webrtc_videoengineapp_ViEAndroidJavaAPI_VoE_1SetNSStatus
- (JNIEnv *, jobject, jboolean, jint);
+ (JNIEnv *, jobject, jboolean);
#ifdef __cplusplus
}
diff --git a/src/video_engine/main/test/android_test/jni/vie_android_java_api.cc b/src/video_engine/main/test/android_test/jni/vie_android_java_api.cc
index 24de884c83..ff4bc00fde 100644
--- a/src/video_engine/main/test/android_test/jni/vie_android_java_api.cc
+++ b/src/video_engine/main/test/android_test/jni/vie_android_java_api.cc
@@ -1526,48 +1526,47 @@ JNIEXPORT jint JNICALL Java_org_webrtc_videoengineapp_ViEAndroidJavaAPI_VoE_1Set
/*
* Class: org_webrtc_videoengineapp_ViEAndroidJavaAPI
* Method: VoE_SetECStatus
- * Signature: (ZIII)I
+ * Signature: (Z)I
*/
JNIEXPORT jint JNICALL Java_org_webrtc_videoengineapp_ViEAndroidJavaAPI_VoE_1SetECStatus(
JNIEnv *,
jobject,
- jboolean enable,
- jint mode,
- jint AESmode,
- jint AESattenuation)
-{
- // TODO(leozwang) implement
- return -1;
+ jboolean enable) {
+ VALIDATE_APM_POINTER;
+ if (voeData.apm->SetEcStatus(enable, kEcAecm) < 0)
+ return -1;
+ return 0;
}
/*
* Class: org_webrtc_videoengineapp_ViEAndroidJavaAPI
* Method: VoE_SetAGCStatus
- * Signature: (ZI)I
+ * Signature: (Z)I
*/
JNIEXPORT jint JNICALL Java_org_webrtc_videoengineapp_ViEAndroidJavaAPI_VoE_1SetAGCStatus(
JNIEnv *,
jobject,
- jboolean enable,
- jint mode)
-{
- // TODO(leozwang) implement
- return -1;
+ jboolean enable) {
+ VALIDATE_APM_POINTER;
+ if (voeData.apm->SetAgcStatus(enable) < 0)
+ return -1;
+ return 0;
}
/*
* Class: org_webrtc_videoengineapp_ViEAndroidJavaAPI
* Method: VoE_SetNSStatus
- * Signature: (ZI)I
+ * Signature: (Z)I
*/
JNIEXPORT jint JNICALL Java_org_webrtc_videoengineapp_ViEAndroidJavaAPI_VoE_1SetNSStatus(
JNIEnv *,
jobject,
- jboolean enable,
- jint mode)
-{
- // TODO(leozwang) implement
- return -1;
+ jboolean enable) {
+ VALIDATE_APM_POINTER;
+ if (voeData.apm->SetNsStatus(enable) < 0) {
+ return -1;
+ }
+ return 0;
}
//
diff --git a/src/video_engine/main/test/android_test/res/layout/aconfig.xml b/src/video_engine/main/test/android_test/res/layout/aconfig.xml
index e88b7c62c0..df6016f5ad 100644
--- a/src/video_engine/main/test/android_test/res/layout/aconfig.xml
+++ b/src/video_engine/main/test/android_test/res/layout/aconfig.xml
@@ -1,81 +1,76 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ android:layout_height="fill_parent" android:orientation="vertical"
+ xmlns:android="http://schemas.android.com/apk/res/android">
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/video_engine/main/test/android_test/res/values/strings.xml b/src/video_engine/main/test/android_test/res/values/strings.xml
index 796411b9b4..796491b693 100644
--- a/src/video_engine/main/test/android_test/res/values/strings.xml
+++ b/src/video_engine/main/test/android_test/res/values/strings.xml
@@ -1,8 +1,8 @@
-
- WebRTC
- Error
- Camera Error
+
+ WebRTC
+ Error
+ Camera Error
Choose a codec type
Video Engine Android Demo
Codec Type
@@ -22,10 +22,10 @@
Video Rx Port
Audio Tx Port
Audio Rx Port
-Auto Gain Control
-Voice Activity Detection
-Acoustic Echo Control
-Noise Suppression
+AGC
+VAD
+AECM
+NS
NACK
SwitchToFront
SwitchToBack
diff --git a/src/video_engine/main/test/android_test/src/org/webrtc/videoengineapp/ViEAndroidJavaAPI.java b/src/video_engine/main/test/android_test/src/org/webrtc/videoengineapp/ViEAndroidJavaAPI.java
index 46676acc7b..f9cacfea3d 100644
--- a/src/video_engine/main/test/android_test/src/org/webrtc/videoengineapp/ViEAndroidJavaAPI.java
+++ b/src/video_engine/main/test/android_test/src/org/webrtc/videoengineapp/ViEAndroidJavaAPI.java
@@ -114,15 +114,17 @@ public class ViEAndroidJavaAPI {
public native int VoE_SetLoudspeakerStatus(boolean enable);
// Playout file locally
- public native int VoE_StartPlayingFileLocally(int channel,
- String fileName,
- boolean loop);
+ public native int VoE_StartPlayingFileLocally(
+ int channel,
+ String fileName,
+ boolean loop);
public native int VoE_StopPlayingFileLocally(int channel);
// Play file as microphone
- public native int VoE_StartPlayingFileAsMicrophone(int channel,
- String fileName,
- boolean loop);
+ public native int VoE_StartPlayingFileAsMicrophone(
+ int channel,
+ String fileName,
+ boolean loop);
public native int VoE_StopPlayingFileAsMicrophone(int channel);
// Codec-setting functions
@@ -131,8 +133,7 @@ public class ViEAndroidJavaAPI {
public native int VoE_SetSendCodec(int channel, int index);
//VE funtions
- public native int VoE_SetECStatus(boolean enable, int mode,
- int AESmode, int AESattenuation);
- public native int VoE_SetAGCStatus(boolean enable, int mode);
- public native int VoE_SetNSStatus(boolean enable, int mode);
+ public native int VoE_SetECStatus(boolean enable);
+ public native int VoE_SetAGCStatus(boolean enable);
+ public native int VoE_SetNSStatus(boolean enable);
}
diff --git a/src/video_engine/main/test/android_test/src/org/webrtc/videoengineapp/WebRTCDemo.java b/src/video_engine/main/test/android_test/src/org/webrtc/videoengineapp/WebRTCDemo.java
index d8043458d6..982baec452 100644
--- a/src/video_engine/main/test/android_test/src/org/webrtc/videoengineapp/WebRTCDemo.java
+++ b/src/video_engine/main/test/android_test/src/org/webrtc/videoengineapp/WebRTCDemo.java
@@ -131,8 +131,8 @@ public class WebRTCDemo extends TabActivity implements IViEAndroidCallback,
private Spinner spCodecType;
private int codecType = 0;
private Spinner spCodecSize;
- private int codecSizeWidth = 352;
- private int codecSizeHeight = 288;
+ private int codecSizeWidth = 0;
+ private int codecSizeHeight = 0;
private TextView etVRxPort;
private int receivePortVideo = 11111;
private TextView etVTxPort;
@@ -497,6 +497,9 @@ public class WebRTCDemo extends TabActivity implements IViEAndroidCallback,
cbEnableAGC.setOnClickListener(this);
cbEnableNS.setOnClickListener(this);
+
+ // Read settings to refresh each configuration
+ ReadSettings();
}
private void StartCall() {
@@ -664,15 +667,22 @@ public class WebRTCDemo extends TabActivity implements IViEAndroidCallback,
Log.d(TAG, "VoE set send destination failed");
}
- // 0 = iPCM-wb, 5 = PCMU
if (0 != ViEAndroidAPI.VoE_SetSendCodec(voiceChannel, voiceCodecType)) {
Log.d(TAG, "VoE set send codec failed");
}
- if (0 != ViEAndroidAPI.VoE_SetECStatus(enableAECM, 5, 0, 28)){
+ if (0 != ViEAndroidAPI.VoE_SetECStatus(enableAECM)) {
Log.d(TAG, "VoE set EC Status failed");
}
+ if (0 != ViEAndroidAPI.VoE_SetAGCStatus(enableAGC)) {
+ Log.d(TAG, "VoE set AGC Status failed");
+ }
+
+ if (0 != ViEAndroidAPI.VoE_SetNSStatus(enableNS)) {
+ Log.d(TAG, "VoE set NS Status failed");
+ }
+
if (0 != ViEAndroidAPI.VoE_StartSend(voiceChannel)) {
Log.d(TAG, "VoE start send failed");
}
@@ -765,23 +775,19 @@ public class WebRTCDemo extends TabActivity implements IViEAndroidCallback,
case R.id.cbAutoGainControl:
enableAGC=cbEnableAGC.isChecked();
if(voERunning) {
- // Enable AGC default mode.
- ViEAndroidAPI.VoE_SetAGCStatus(enableAGC,1);
+ ViEAndroidAPI.VoE_SetAGCStatus(enableAGC);
}
break;
case R.id.cbNoiseSuppression:
enableNS=cbEnableNS.isChecked();
if(voERunning) {
- // Enable NS default mode.
- ViEAndroidAPI.VoE_SetNSStatus(enableNS, 1);
+ ViEAndroidAPI.VoE_SetNSStatus(enableNS);
}
break;
case R.id.cbAECM:
enableAECM = cbEnableAECM.isChecked();
if (voERunning) {
- // EC_AECM=5
- // AECM_DEFAULT=0
- ViEAndroidAPI.VoE_SetECStatus(enableAECM, 5, 0, 28);
+ ViEAndroidAPI.VoE_SetECStatus(enableAECM);
}
break;
}