diff --git a/src/org/linphone/core/LinphoneCoreFactoryImpl.java b/src/org/linphone/core/LinphoneCoreFactoryImpl.java index 1b4e9aaf0..b676ccd61 100644 --- a/src/org/linphone/core/LinphoneCoreFactoryImpl.java +++ b/src/org/linphone/core/LinphoneCoreFactoryImpl.java @@ -21,9 +21,25 @@ package org.linphone.core; import java.io.File; import java.io.IOException; +import org.linphone.LinphoneManager; + +import android.util.Log; + public class LinphoneCoreFactoryImpl extends LinphoneCoreFactory { + private static void loadOptionalLibrary(String s) { + try { + System.loadLibrary(s); + } catch (Throwable e) { + Log.w(LinphoneManager.TAG, "Unable to load optional library lib" + s); + } + } + static { + loadOptionalLibrary("avutil"); + loadOptionalLibrary("swscale"); + loadOptionalLibrary("avcore"); + loadOptionalLibrary("avcodec"); System.loadLibrary("linphone"); } @Override diff --git a/submodules/externals/build/ffmpeg/Android_libavcodec.mk b/submodules/externals/build/ffmpeg/Android_libavcodec.mk index 3a70e4b85..773bd39d6 100755 --- a/submodules/externals/build/ffmpeg/Android_libavcodec.mk +++ b/submodules/externals/build/ffmpeg/Android_libavcodec.mk @@ -16,6 +16,7 @@ LOCAL_SRC_FILES = \ libavcodec/arm/dsputil_neon.S.neon \ libavcodec/arm/dsputil_vfp.S.neon \ libavcodec/arm/fft_init_arm.c \ + libavcodec/arm/fft_neon.S.neon \ libavcodec/arm/h264dsp_init_arm.c \ libavcodec/arm/h264dsp_neon.S.neon \ libavcodec/arm/h264idct_neon.S.neon \ @@ -23,6 +24,7 @@ LOCAL_SRC_FILES = \ libavcodec/arm/h264pred_neon.S.neon \ libavcodec/arm/int_neon.S.neon \ libavcodec/arm/jrevdct_arm.S \ + libavcodec/arm/mdct_neon.S.neon \ libavcodec/arm/mpegvideo_arm.c \ libavcodec/arm/mpegvideo_armv5te.c \ libavcodec/arm/mpegvideo_armv5te_s.S \ @@ -42,6 +44,7 @@ LOCAL_SRC_FILES = \ libavcodec/faanidct.c \ libavcodec/flvdec.c \ libavcodec/flvenc.c \ + libavcodec/fft.c \ libavcodec/golomb.c \ libavcodec/h263.c.arm \ libavcodec/h263_parser.c \ @@ -99,5 +102,7 @@ LOCAL_C_INCLUDES += \ $(LOCAL_PATH)/ \ $(LOCAL_PATH)/libavutil -include $(BUILD_STATIC_LIBRARY) +LOCAL_SHARED_LIBRARIES := libavutil libavcore + +include $(BUILD_SHARED_LIBRARY) diff --git a/submodules/externals/build/ffmpeg/Android_libavcore.mk b/submodules/externals/build/ffmpeg/Android_libavcore.mk index 70618d217..27982d535 100644 --- a/submodules/externals/build/ffmpeg/Android_libavcore.mk +++ b/submodules/externals/build/ffmpeg/Android_libavcore.mk @@ -20,5 +20,8 @@ LOCAL_CFLAGS += -DHAVE_AV_CONFIG_H #for including config.h: LOCAL_C_INCLUDES += $(LOCAL_PATH)/../build/ffmpeg $(LOCAL_PATH)/ -include $(BUILD_STATIC_LIBRARY) + +LOCAL_SHARED_LIBRARIES := libavutil + +include $(BUILD_SHARED_LIBRARY) diff --git a/submodules/externals/build/ffmpeg/Android_libavutil.mk b/submodules/externals/build/ffmpeg/Android_libavutil.mk index 08d65b5dd..1cf6c7e1f 100755 --- a/submodules/externals/build/ffmpeg/Android_libavutil.mk +++ b/submodules/externals/build/ffmpeg/Android_libavutil.mk @@ -41,5 +41,5 @@ LOCAL_ARM_MODE := arm #for including config.h: LOCAL_C_INCLUDES += $(LOCAL_PATH)/../build/ffmpeg $(LOCAL_PATH)/ -include $(BUILD_STATIC_LIBRARY) +include $(BUILD_SHARED_LIBRARY) diff --git a/submodules/externals/build/ffmpeg/Android_libswscale.mk b/submodules/externals/build/ffmpeg/Android_libswscale.mk index bbf4a5a34..48aa2dad8 100755 --- a/submodules/externals/build/ffmpeg/Android_libswscale.mk +++ b/submodules/externals/build/ffmpeg/Android_libswscale.mk @@ -20,5 +20,7 @@ LOCAL_C_INCLUDES += $(LOCAL_PATH)/../../build/ffmpeg \ $(LOCAL_PATH)/ \ $(LOCAL_PATH)/../ -include $(BUILD_STATIC_LIBRARY) +LOCAL_SHARED_LIBRARIES := libavutil + +include $(BUILD_SHARED_LIBRARY)