From 3a3f331ca30c0cffee9bfaab7edf66d148f968d1 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 27 Feb 2014 11:22:19 +0100 Subject: [PATCH] JNI wrapper for LinphoneCallParams getSentVideoSize and getReceivedVideoSize methods --- coreapi/linphonecore_jni.cc | 18 ++++++++++++++++ .../org/linphone/core/LinphoneCallParams.java | 12 +++++++++++ java/common/org/linphone/core/VideoSize.java | 4 +++- .../linphone/core/LinphoneCallParamsImpl.java | 21 ++++++++++++++++++- 4 files changed, 53 insertions(+), 2 deletions(-) diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index 036e73c87..cbf3a1bd7 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -2660,6 +2660,24 @@ extern "C" void Java_org_linphone_core_LinphoneCallParamsImpl_setRecordFile(JNIE }else linphone_call_params_set_record_file((LinphoneCallParams*)lcp,NULL); } +extern "C" jintArray Java_org_linphone_core_LinphoneCallParamsImpl_getSentVideoSize(JNIEnv *env, jobject thiz, jlong lcp) { + const LinphoneCallParams *params = (LinphoneCallParams *) lcp; + MSVideoSize vsize = linphone_call_params_get_sent_video_size(params); + jintArray arr = env->NewIntArray(2); + int tVsize [2]= {vsize.width,vsize.height}; + env->SetIntArrayRegion(arr, 0, 2, tVsize); + return arr; +} + +extern "C" jintArray Java_org_linphone_core_LinphoneCallParamsImpl_getReceivedVideoSize(JNIEnv *env, jobject thiz, jlong lcp) { + const LinphoneCallParams *params = (LinphoneCallParams *) lcp; + MSVideoSize vsize = linphone_call_params_get_received_video_size(params); + jintArray arr = env->NewIntArray(2); + int tVsize [2]= {vsize.width,vsize.height}; + env->SetIntArrayRegion(arr, 0, 2, tVsize); + return arr; +} + extern "C" void Java_org_linphone_core_LinphoneCallParamsImpl_destroy(JNIEnv *env, jobject thiz, jlong lc){ return linphone_call_params_destroy((LinphoneCallParams*)lc); } diff --git a/java/common/org/linphone/core/LinphoneCallParams.java b/java/common/org/linphone/core/LinphoneCallParams.java index 86dd1ea4b..b226077cd 100644 --- a/java/common/org/linphone/core/LinphoneCallParams.java +++ b/java/common/org/linphone/core/LinphoneCallParams.java @@ -116,4 +116,16 @@ public interface LinphoneCallParams { * @return the session name **/ String getSessionName(); + + /** + * Gets the size of the video that is sent. + * @return The sent video size. + */ + VideoSize getSentVideoSize(); + + /** + * Gets the size of the video that is received. + * @return The received video size. + */ + VideoSize getReceivedVideoSize(); } diff --git a/java/common/org/linphone/core/VideoSize.java b/java/common/org/linphone/core/VideoSize.java index b9b3e0710..6bba95e74 100644 --- a/java/common/org/linphone/core/VideoSize.java +++ b/java/common/org/linphone/core/VideoSize.java @@ -78,7 +78,9 @@ public final class VideoSize { return true; } - + public String toDisplayableString() { + return width + "x" + height; + } public String toString() { return "width = "+width + " height = " + height; } diff --git a/java/impl/org/linphone/core/LinphoneCallParamsImpl.java b/java/impl/org/linphone/core/LinphoneCallParamsImpl.java index 9c3fe9468..a3c6425b8 100644 --- a/java/impl/org/linphone/core/LinphoneCallParamsImpl.java +++ b/java/impl/org/linphone/core/LinphoneCallParamsImpl.java @@ -130,5 +130,24 @@ public class LinphoneCallParamsImpl implements LinphoneCallParams { public String getSessionName() { return getSessionName(nativePtr); } - + + private native int[] getSentVideoSize(long nativePtr); + @Override + public VideoSize getSentVideoSize() { + int[] nativeSize = getSentVideoSize(nativePtr); + VideoSize vSize = new VideoSize(); + vSize.width = nativeSize[0]; + vSize.height = nativeSize[1]; + return vSize; + } + + private native int[] getReceivedVideoSize(long nativePtr); + @Override + public VideoSize getReceivedVideoSize() { + int[] nativeSize = getReceivedVideoSize(nativePtr); + VideoSize vSize = new VideoSize(); + vSize.width = nativeSize[0]; + vSize.height = nativeSize[1]; + return vSize; + } }