From 90b51017647087cc3fb1656a8c933bec5623934b Mon Sep 17 00:00:00 2001 From: Ghislain MARY <ghislain.mary@belledonne-communications.com> Date: Mon, 7 Apr 2014 12:48:00 +0200 Subject: [PATCH] Changes to add support of OpenH264 on Android. --- build/android/Android.mk | 8 ++++++++ coreapi/linphonecore_jni.cc | 10 ++++++++++ mediastreamer2 | 2 +- 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/build/android/Android.mk b/build/android/Android.mk index c2b04b3897..18fbbdbfd3 100755 --- a/build/android/Android.mk +++ b/build/android/Android.mk @@ -87,6 +87,9 @@ LOCAL_CFLAGS += -DVIDEO_ENABLED ifeq ($(BUILD_X264),1) LOCAL_CFLAGS += -DHAVE_X264 endif +ifeq ($(BUILD_OPENH264),1) +LOCAL_CFLAGS += -DHAVE_OPENH264 +endif endif ifeq ($(BUILD_CONTACT_HEADER),1) @@ -175,6 +178,11 @@ LOCAL_STATIC_LIBRARIES += \ libmsx264 \ libx264 endif +ifeq ($(BUILD_OPENH264),1) +LOCAL_STATIC_LIBRARIES += \ + libmsopenh264 \ + libwels +endif endif ifeq ($(BUILD_UPNP),1) diff --git a/coreapi/linphonecore_jni.cc b/coreapi/linphonecore_jni.cc index f7c8f46eba..8248524187 100644 --- a/coreapi/linphonecore_jni.cc +++ b/coreapi/linphonecore_jni.cc @@ -26,6 +26,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. extern "C" { #include "mediastreamer2/mediastream.h" +#include "mediastreamer2/mscommon.h" } #include "mediastreamer2/msjava.h" #include "private.h" @@ -39,6 +40,9 @@ extern "C" void libmsilbc_init(); #ifdef HAVE_X264 extern "C" void libmsx264_init(); #endif +#ifdef HAVE_OPENH264 +extern "C" void libmsopenh264_init(); +#endif #ifdef HAVE_AMR extern "C" void libmsamr_init(); #endif @@ -742,12 +746,17 @@ extern "C" jlong Java_org_linphone_core_LinphoneCoreImpl_newLinphoneCore(JNIEnv* const char* factoryConfig = jfactoryConfig?env->GetStringUTFChars(jfactoryConfig, NULL):NULL; LinphoneCoreData* ldata = new LinphoneCoreData(env,thiz,jlistener,juserdata); + ms_init(); // Initialize mediastreamer2 before loading the plugins + #ifdef HAVE_ILBC libmsilbc_init(); // requires an fpu #endif #ifdef HAVE_X264 libmsx264_init(); #endif +#ifdef HAVE_OPENH264 + libmsopenh264_init(); +#endif #ifdef HAVE_AMR libmsamr_init(); #endif @@ -776,6 +785,7 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_delete(JNIEnv* env ,jlong lc) { LinphoneCoreData* lcData = (LinphoneCoreData*)linphone_core_get_user_data((LinphoneCore*)lc); linphone_core_destroy((LinphoneCore*)lc); + ms_exit(); delete lcData; } diff --git a/mediastreamer2 b/mediastreamer2 index a33899b52d..7111661bd8 160000 --- a/mediastreamer2 +++ b/mediastreamer2 @@ -1 +1 @@ -Subproject commit a33899b52d15236fe99b5399242ab9d8c2a0f24e +Subproject commit 7111661bd810352ed7a4ecc9c30c7754d3006a92 -- GitLab