diff --git a/.gitignore b/.gitignore index 9b9578f4ce617a7235485bc296c62418ea92d1c5..b325bc9c215f85da50f8633aa02762e624927a84 100644 --- a/.gitignore +++ b/.gitignore @@ -22,6 +22,8 @@ local.properties .settings/org.eclipse.ltk.core.refactoring.prefs SFLPhone.iml + +env.sh ant.properties *.keystore SFLPhoneservice* diff --git a/sflphone-android/.gitignore b/sflphone-android/.gitignore index 6288f7f0a8b6a1d7c6176e5454625988935ad77b..d3317a063771008c40487fd402de67d19e01af9e 100644 --- a/sflphone-android/.gitignore +++ b/sflphone-android/.gitignore @@ -16,9 +16,6 @@ src/org/sflphone/views/paralloid AndroidUnusedResources1.6.2.jar -jni/pjproject-android/build -jni/pjproject-android/pjsip/build/.pjsua2-lib-arm-unknown-linux-androideabi.depend -jni/pjproject-android/pjsip/build/.pjsua2-test-arm-unknown-linux-androideabi.depend .classpath .project .settings/org.eclipse.jdt.core.prefs @@ -33,7 +30,7 @@ jni/sflphone_wrapper.h jni/sflphoneservice_loader.c - +.ant-targets-build.xml ant.properties *.keystore SFLPhoneservice* diff --git a/sflphone-android/jni/Android.mk b/sflphone-android/jni/Android.mk index ad37e636faaa53a5c3011d8a8b732378000182a6..49a7b9055339462aff24f215cc38878c64c49401 100644 --- a/sflphone-android/jni/Android.mk +++ b/sflphone-android/jni/Android.mk @@ -28,14 +28,16 @@ # as that of the covered work. LOCAL_PATH:= $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_CODECS_PATH = $(SFLPHONE_SRC)/daemon/src/audio/codecs -LOCAL_SRC_PATH = $(SFLPHONE_SRC)/daemon/src $(info SFLPHONE_CONTRIB=$(SFLPHONE_CONTRIB)) $(info SFLPHONE_SRC=$(SFLPHONE_SRC)) + +include $(CLEAR_VARS) +LOCAL_MODULE := sflphone +LOCAL_SRC_FILES := $(SFLPHONE_SRC)/daemon/src/.libs/libsflphone.so +include $(PREBUILT_SHARED_LIBRARY) + include $(CLEAR_VARS) VERSION="1.1.0" MY_PREFIX=/sdcard @@ -43,7 +45,17 @@ MY_DATADIR=/data/data ARCH=$(ANDROID_ABI) -CPP_STATIC=$(ANDROID_NDK)/sources/cxx-stl/gnu-libstdc++$(CXXSTL)/libs/$(ARCH)/libgnustl_static.a +CPP_STATIC= $(ANDROID_NDK)/sources/cxx-stl/gnu-libstdc++$(CXXSTL)/libs/$(ARCH)/libgnustl_static.a \ + $(SFLPHONE_CONTRIB)/lib/libucommon.a \ + $(SFLPHONE_CONTRIB)/lib/libccrtp.a \ + $(SFLPHONE_CONTRIB)/lib/libpjlib-util-arm-unknown-linux-androideabi.a \ + $(SFLPHONE_CONTRIB)/lib/libpj-arm-unknown-linux-androideabi.a \ + $(SFLPHONE_CONTRIB)/lib/libogg.a \ + $(SFLPHONE_CONTRIB)/lib/libFLAC.a \ + $(SFLPHONE_CONTRIB)/lib/libgcrypt.a \ + $(SFLPHONE_CONTRIB)/lib/libgpg-error.a \ + + LOCAL_CPPFLAGS += -frtti LOCAL_CPPFLAGS += -fexceptions @@ -51,7 +63,6 @@ LOCAL_CPPFLAGS += -fexceptions LOCAL_SRC_FILES := sflphone_wrapper.cpp LOCAL_C_INCLUDES += $(LOCAL_PATH) \ - $(LOCAL_SRC_PATH) \ $(SFLPHONE_SRC)/daemon \ $(SFLPHONE_SRC)/daemon/src \ $(SFLPHONE_SRC)/contrib/$(TARGET_TUPLE)/include @@ -78,7 +89,7 @@ LOCAL_LDLIBS += -lz \ -lOpenSLES \ -L$(SFLPHONE_CONTRIB)/lib \ -L$(SFLPHONE_SRC)/daemon/src/.libs \ - -lsflphone \ + $(SFLPHONE_SRC)/daemon/src/.libs/libsflphone.a \ -lavcodec \ -lexpat -lhogweed -lpj-arm-unknown-linux-androideabi \ -lpjsip-simple-arm-unknown-linux-androideabi \ @@ -103,5 +114,51 @@ LOCAL_LDLIBS += -lz \ -lspeex -lvorbisenc \ $(CPP_STATIC) -LOCAL_SHARE_LIBRARIES := libsflphone include $(BUILD_SHARED_LIBRARY) + +########### Codecs ############### + +include $(CLEAR_VARS) +LOCAL_MODULE := ulaw +LOCAL_SRC_FILES := $(SFLPHONE_SRC)/daemon/src/audio/codecs/libcodec_ulaw.so +include $(PREBUILT_SHARED_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := alaw +LOCAL_SRC_FILES := $(SFLPHONE_SRC)/daemon/src/audio/codecs/libcodec_alaw.so +include $(PREBUILT_SHARED_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := g722 +LOCAL_SRC_FILES := $(SFLPHONE_SRC)/daemon/src/audio/codecs/libcodec_g722.so +include $(PREBUILT_SHARED_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := speex_nb +LOCAL_SRC_FILES := $(SFLPHONE_SRC)/daemon/src/audio/codecs/libcodec_speex_nb.so +include $(PREBUILT_SHARED_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := speex_ub +LOCAL_SRC_FILES := $(SFLPHONE_SRC)/daemon/src/audio/codecs/libcodec_speex_ub.so +include $(PREBUILT_SHARED_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := speex_wb +LOCAL_SRC_FILES := $(SFLPHONE_SRC)/daemon/src/audio/codecs/libcodec_speex_wb.so +include $(PREBUILT_SHARED_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := opus +LOCAL_SRC_FILES := $(SFLPHONE_SRC)/daemon/src/audio/codecs/libcodec_opus.so +include $(PREBUILT_SHARED_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := gsm +LOCAL_SRC_FILES := $(SFLPHONE_SRC)/daemon/src/audio/codecs/libcodec_gsm.so +include $(PREBUILT_SHARED_LIBRARY) + +include $(CLEAR_VARS) +LOCAL_MODULE := g729 +LOCAL_SRC_FILES := $(SFLPHONE_SRC)/daemon/src/audio/codecs/libcodec_g729.so +include $(PREBUILT_SHARED_LIBRARY) diff --git a/sflphone-android/jni/Application.mk b/sflphone-android/jni/Application.mk index 3d569aaaae7b9c7e9eb7cf3a0f562d1277a092fa..2d6a02b96d95493683404035c156963046909f87 100644 --- a/sflphone-android/jni/Application.mk +++ b/sflphone-android/jni/Application.mk @@ -35,7 +35,13 @@ APP_OPTIM := debug APP_ABI := ${ANDROID_ABI} NDK_TOOLCHAIN_VERSION := 4.8 -#APP_MODULES += libcodec_ulaw -#APP_MODULES += libcodec_alaw -#APP_MODULES += libcodec_g722 +APP_MODULES += ulaw +APP_MODULES += alaw +APP_MODULES += g722 +APP_MODULES += g729 +APP_MODULES += speex_wb +APP_MODULES += speex_ub +APP_MODULES += speex_nb +APP_MODULES += gsm +APP_MODULES += opus APP_MODULES += libsflphonejni diff --git a/sflphone-android/jni/jni_callbacks.h b/sflphone-android/jni/jni_callbacks.h deleted file mode 100644 index 234950118a87e4119662ef8e05b2e7232c7f976c..0000000000000000000000000000000000000000 --- a/sflphone-android/jni/jni_callbacks.h +++ /dev/null @@ -1,37 +0,0 @@ - -void on_new_call_created_wrapper (const std::string& accountID, - const std::string& callID, - const std::string& to); -void on_call_state_changed_wrapper(const std::string& callID, - const std::string& to); -void on_incoming_call_wrapper (const std::string& accountID, - const std::string& callID, - const std::string& from); -void on_transfer_state_changed_wrapper (const std::string& result); - -void on_conference_created_wrapper (const std::string& confID); -void on_conference_removed_wrapper (const std::string& confID); -void on_conference_state_changed_wrapper(const std::string& confID,const std::string& state); -void on_incoming_message_wrapper(const std::string& ID, const std::string& from, const std::string& msg); -void on_newPresSubClientNotification_wrapper(const std::string& uri, const std::string& basic, const std::string& note); -void on_newPresSubServerRequest_wrapper(const std::string& remote); - -void on_secure_sdes_on_wrapper(const std::string& callID); -void on_secure_sdes_off_wrapper(const std::string& callID); -void on_secure_zrtp_on_wrapper(const std::string& callID,const std::string& cipher); -void on_secure_zrtp_off_wrapper(const std::string& callID); -void on_show_sas_wrapper(const std::string& callID, const std::string& sas, const bool& verified); -void on_zrtp_not_supported_wrapper(const std::string& callID); -void on_zrtp_negociation_failed_wrapper(const std::string& callID, const std::string& reason, const std::string& severity); -void on_rtcp_report_received_wrapper(const std::string& callID, const std::map<std::basic_string<char>, int>& stats); - -void on_accounts_changed_wrapper (); -void on_account_state_changed_wrapper (const std::string& accoundID, int const& state); -void on_account_state_changed_with_code_wrapper (const std::string& accoundID, const std::string& state, const int32_t& code); -std::vector<int> get_hardware_audio_format_wrapper(); -void on_volume_changed_wrapper (void); -void on_stun_status_failed_wrapper (const std::string& accountID); -void on_history_change_wrapper (void); - -void on_record_playback_filepath_wrapper(const std::string& id, const std::string& filename); -void on_recording_state_changed_wrapper(const std::string& callID, const bool& state); diff --git a/sflphone-android/src/org/sflphone/service/SipService.java b/sflphone-android/src/org/sflphone/service/SipService.java index 75ecae29d227773f8facdecfaac12c69d0e9ed52..41c81b80f4e60d2bb33a8bdddacf052ed48888ee 100644 --- a/sflphone-android/src/org/sflphone/service/SipService.java +++ b/sflphone-android/src/org/sflphone/service/SipService.java @@ -216,7 +216,15 @@ public class SipService extends Service { System.loadLibrary("gnustl_shared"); System.loadLibrary("crypto"); System.loadLibrary("ssl"); - System.loadLibrary("sflphone"); + System.loadLibrary("codec_ulaw"); + System.loadLibrary("codec_alaw"); + System.loadLibrary("codec_speex_nb"); + System.loadLibrary("codec_speex_ub"); + System.loadLibrary("codec_speex_wb"); + System.loadLibrary("codec_g729"); + System.loadLibrary("codec_gsm"); + System.loadLibrary("codec_opus"); + System.loadLibrary("sflphonejni"); isPjSipStackStarted = true; } catch (UnsatisfiedLinkError e) {