From 5f6b3fa729baad15ebe542ffb82075ed3b774041 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Thu, 29 Jan 2015 15:34:40 +0100 Subject: [PATCH] add setPreferredFramerate/getPreferredFramerate accessors --- coreapi/linphonecore_jni.cc | 4 ++++ java/common/org/linphone/core/LinphoneCore.java | 14 ++++++++++++++ java/impl/org/linphone/core/LinphoneCoreImpl.java | 11 +++++++++++ 3 files changed, 29 insertions(+) diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index e940303c6..2ef8868cf 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -3399,6 +3399,10 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_setPreferredFramerate(JN linphone_core_set_preferred_framerate((LinphoneCore *)lc, framerate); } +extern "C" float Java_org_linphone_core_LinphoneCoreImpl_getPreferredFramerate(JNIEnv *env, jobject thiz, jlong lc){ + return linphone_core_get_preferred_framerate((LinphoneCore *)lc); +} + JNIEXPORT void JNICALL Java_org_linphone_core_LinphoneCoreImpl_setPreferredVideoSizeByName(JNIEnv *env, jobject thiz, jlong lc, jstring jName) { const char* cName = env->GetStringUTFChars(jName, NULL); linphone_core_set_preferred_video_size_by_name((LinphoneCore *)lc, cName); diff --git a/java/common/org/linphone/core/LinphoneCore.java b/java/common/org/linphone/core/LinphoneCore.java index 0e5c36d6d..04ee7478a 100644 --- a/java/common/org/linphone/core/LinphoneCore.java +++ b/java/common/org/linphone/core/LinphoneCore.java @@ -1075,6 +1075,20 @@ public interface LinphoneCore { **/ VideoSize getPreferredVideoSize(); + /** + * Set the preferred frame rate for video. + * Based on the available bandwidth constraints and network conditions, the video encoder + * remains free to lower the framerate. There is no warranty that the preferred frame rate be the actual framerate. + * used during a call. Default value is 0, which means "use encoder's default fps value". + * @param fps the target frame rate in number of frames per seconds. + **/ + void setPreferredFramerate(float fps); + + /** + * Returns the preferred video framerate, previously set by setPreferredFramerate(). + * @return frame rate in number of frames per seconds. + **/ + float getPreferredFramerate(); /** * Returns the currently supported audio codecs, as PayloadType elements * @return diff --git a/java/impl/org/linphone/core/LinphoneCoreImpl.java b/java/impl/org/linphone/core/LinphoneCoreImpl.java index cef11598c..4cca85957 100644 --- a/java/impl/org/linphone/core/LinphoneCoreImpl.java +++ b/java/impl/org/linphone/core/LinphoneCoreImpl.java @@ -1330,4 +1330,15 @@ public class LinphoneCoreImpl implements LinphoneCore { * @param path The path where the log files will be written. */ public native static void setLogCollectionPath(String path); + + private native void setPreferredFramerate(long nativePtr, float fps); + @Override + public void setPreferredFramerate(float fps) { + setPreferredFramerate(nativePtr,fps); + } + private native float getPreferredFramerate(long nativePtr); + @Override + public float getPreferredFramerate() { + return getPreferredFramerate(nativePtr); + } }