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 939298d19..28c2cd529 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 @@ -109,10 +109,10 @@ JNIEXPORT jint JNICALL Java_org_webrtc_videoengineapp_ViEAndroidJavaAPI_SetLocal /* * Class: org_webrtc_videoengineapp_ViEAndroidJavaAPI * Method: SetSendDestination - * Signature: (II[B)I + * Signature: (IILjava/lang/String)I */ JNIEXPORT jint JNICALL Java_org_webrtc_videoengineapp_ViEAndroidJavaAPI_SetSendDestination - (JNIEnv *, jobject, jint, jint, jbyteArray); + (JNIEnv *, jobject, jint, jint, jstring); /* * Class: org_webrtc_videoengineapp_ViEAndroidJavaAPI 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 f55c12c77..93e1e4486 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 @@ -598,25 +598,25 @@ JNIEXPORT jint JNICALL Java_org_webrtc_videoengineapp_ViEAndroidJavaAPI_SetLocal /* * Class: org_webrtc_videoengineapp_ViEAndroidJavaAPI * Method: SetSendDestination - * Signature: (II[B)I + * Signature: (IILjava/lang/String)I */ JNIEXPORT jint JNICALL Java_org_webrtc_videoengineapp_ViEAndroidJavaAPI_SetSendDestination( JNIEnv * env, jobject, jint channel, jint port, - jbyteArray ipadr) + jstring ipaddr) { if (NULL == vieData.vie) return -1; - char ip[64]; - jsize len = env->GetArrayLength(ipadr); - if ((len >= 64) || (len == 0)) + const char* ip = env->GetStringUTFChars(ipaddr, NULL); + if (!ip) { + __android_log_write(ANDROID_LOG_ERROR, WEBRTC_LOG_TAG, + "Could not get UTF string"); return -1; - env->GetByteArrayRegion(ipadr, 0, len, (jbyte*) ip); - ip[len] = '\0'; + } __android_log_print(ANDROID_LOG_DEBUG, WEBRTC_LOG_TAG, "SetSendDestination: channel=%d, port=%d, ip=%s\n", 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 f9cacfea3..de27cdb04 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 @@ -52,7 +52,7 @@ public class ViEAndroidJavaAPI { public native int CreateChannel(int voiceChannel); // Receiver & Destination functions public native int SetLocalReceiver(int channel, int port); - public native int SetSendDestination(int channel, int port, byte ipadr[]); + public native int SetSendDestination(int channel, int port, String ipaddr); // Codec public native String[] GetCodecs(); public native int SetReceiveCodec(int channel, int codecNum, @@ -97,7 +97,7 @@ public class ViEAndroidJavaAPI { // Receiver & Destination functions public native int VoE_SetLocalReceiver(int channel, int port); public native int VoE_SetSendDestination(int channel, int port, - String ipaddr); + String ipaddr); // Media functions public native int VoE_StartListen(int channel); 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 2fec802d9..b09465191 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 @@ -516,6 +516,10 @@ public class WebRTCDemo extends TabActivity implements IViEAndroidCallback, ReadSettings(); } + private String GetRemoteIPString() { + return etRemoteIp.getText().toString(); + } + private void StartCall() { int ret = 0; @@ -531,10 +535,10 @@ public class WebRTCDemo extends TabActivity implements IViEAndroidCallback, channel = ViEAndroidAPI.CreateChannel(voiceChannel); ret = ViEAndroidAPI.SetLocalReceiver(channel, - receivePortVideo); + receivePortVideo); ret = ViEAndroidAPI.SetSendDestination(channel, - destinationPortVideo, - remoteIp.getBytes()); + destinationPortVideo, + GetRemoteIPString()); if (enableVideoReceive) { if(useOpenGLRender) { @@ -676,8 +680,8 @@ public class WebRTCDemo extends TabActivity implements IViEAndroidCallback, } if (0 != ViEAndroidAPI.VoE_SetSendDestination(voiceChannel, - destinationPortVoice, - remoteIp)) { + destinationPortVoice, + GetRemoteIPString())) { Log.d(TAG, "VoE set send destination failed"); }