From: Sylvain Berfini Date: Tue, 11 Dec 2012 09:59:40 +0000 (+0100) Subject: Add JNI glue to enable/disable low bandwidth param in call X-Git-Url: http://sjero.net/git/?p=linphone;a=commitdiff_plain;h=1e75dc40229e1f8e6e5c6c121957722f11c03a3e Add JNI glue to enable/disable low bandwidth param in call --- diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index 06188f41..d5835fe3 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -1774,6 +1774,10 @@ extern "C" jstring Java_org_linphone_core_LinphoneCoreImpl_getStunServer(JNIEnv //CallParams +extern "C" void Java_org_linphone_core_LinphoneCallImpl_enableLowBandwidth(JNIEnv *env, jobject thiz, jlong cp, jboolean enable) { + linphone_call_params_enable_low_bandwidth((LinphoneCallParams *)cp, enable); +} + extern "C" jlong Java_org_linphone_core_LinphoneCallParamsImpl_getUsedAudioCodec(JNIEnv *env, jobject thiz, jlong cp) { return (jlong)linphone_call_params_get_used_audio_codec((LinphoneCallParams *)cp); } @@ -1851,7 +1855,6 @@ extern "C" jint Java_org_linphone_core_LinphoneCoreImpl_updateCall(JNIEnv *env, return (jint) linphone_core_update_call((LinphoneCore *)lc, (LinphoneCall *)call, (const LinphoneCallParams *)params); } - extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setPreferredVideoSize(JNIEnv *env, jobject thiz, jlong lc, jint width, jint height){ MSVideoSize vsize; vsize.width = (int)width; diff --git a/java/common/org/linphone/core/LinphoneCallParams.java b/java/common/org/linphone/core/LinphoneCallParams.java index 2dd497c9..730a99dc 100644 --- a/java/common/org/linphone/core/LinphoneCallParams.java +++ b/java/common/org/linphone/core/LinphoneCallParams.java @@ -57,4 +57,12 @@ public interface LinphoneCallParams { * @return PayloadType or null */ PayloadType getUsedVideoCodec(); + + /** + * Indicate low bandwith mode. + * Configuring a call to low bandwidth mode will result in the core to activate several settings for the call in order to ensure that bitrate usage + * is lowered to the minimum possible. Typically, ptime (packetization time) will be increased, audio codec's output bitrate will be targetted to 20kbit/s provided + * that it is achievable by the codec selected after SDP handshake. Video is automatically disabled. + **/ + void enableLowBandwidth(boolean enable); } diff --git a/java/impl/org/linphone/core/LinphoneCallParamsImpl.java b/java/impl/org/linphone/core/LinphoneCallParamsImpl.java index 3c451401..be3495a8 100644 --- a/java/impl/org/linphone/core/LinphoneCallParamsImpl.java +++ b/java/impl/org/linphone/core/LinphoneCallParamsImpl.java @@ -35,7 +35,7 @@ public class LinphoneCallParamsImpl implements LinphoneCallParams { private native long getUsedAudioCodec(long nativePtr); private native long getUsedVideoCodec(long nativePtr); private native void destroy(long nativePtr); - + private native void enableLowBandwidth(long nativePtr, boolean enable); public boolean getVideoEnabled() { return getVideoEnabled(nativePtr); @@ -79,4 +79,8 @@ public class LinphoneCallParamsImpl implements LinphoneCallParams { public boolean localConferenceMode() { return localConferenceMode(nativePtr); } + + public void enableLowBandwidth(boolean enable) { + enableLowBandwidth(nativePtr, enable); + } }