diff --git a/build/android/Android.mk b/build/android/Android.mk index c2b04b3897ad324767b1c86b97f9b12ba2996093..18fbbdbfd3cd1bbd0405ec2ab8ee47050859b6b5 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 f7c8f46eba191cc815b2663a13c8e5af2b664973..8248524187c89ae51e3ae264d75e7ce8e097ee8c 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 a33899b52d15236fe99b5399242ab9d8c2a0f24e..7111661bd810352ed7a4ecc9c30c7754d3006a92 160000 --- a/mediastreamer2 +++ b/mediastreamer2 @@ -1 +1 @@ -Subproject commit a33899b52d15236fe99b5399242ab9d8c2a0f24e +Subproject commit 7111661bd810352ed7a4ecc9c30c7754d3006a92