Modified build process to include iSAC codec. It now needs inclusion in the Android app

This commit is contained in:
Guillaume BIENKOWSKI 2013-10-24 16:52:58 +02:00
parent 9678ca7c01
commit be0cede76a
3 changed files with 45 additions and 9 deletions

View file

@ -43,6 +43,7 @@ BUILD_G729=0
BUILD_TUNNEL=0 BUILD_TUNNEL=0
BUILD_WEBRTC_AECM=1 BUILD_WEBRTC_AECM=1
BUILD_OPUS=1 BUILD_OPUS=1
BUILD_WEBRTC_ISAC=1
BUILD_FOR_X86=1 BUILD_FOR_X86=1
USE_JAVAH=1 USE_JAVAH=1
BUILD_TLS=1 BUILD_TLS=1
@ -210,6 +211,7 @@ $(LIBMSSILK_BUILD_DIR)/sdk/SILK_SDK_SRC_v1.0.8/SILK_SDK_SRC_ARM_v1.0.8/src/SKP_S
prepare-silk: $(LIBMSSILK_BUILD_DIR)/sdk/SILK_SDK_SRC_v1.0.8/SILK_SDK_SRC_ARM_v1.0.8/src/SKP_Silk_resampler.c prepare-silk: $(LIBMSSILK_BUILD_DIR)/sdk/SILK_SDK_SRC_v1.0.8/SILK_SDK_SRC_ARM_v1.0.8/src/SKP_Silk_resampler.c
#Zrtp #Zrtp
$(TOPDIR)/submodules/externals/libzrtpcpp/libzrtpcpp-config.h : $(TOPDIR)/submodules/externals/build/libzrtpcpp/libzrtpcpp-config.h $(TOPDIR)/submodules/externals/libzrtpcpp/libzrtpcpp-config.h : $(TOPDIR)/submodules/externals/build/libzrtpcpp/libzrtpcpp-config.h
@cd $(TOPDIR)/submodules/externals/libzrtpcpp/ && \ @cd $(TOPDIR)/submodules/externals/libzrtpcpp/ && \
@ -283,7 +285,7 @@ prepare-sources: build-ffmpeg build-x264 prepare-ilbc build-vpx prepare-silk pre
GENERATE_OPTIONS = NDK_DEBUG=$(NDK_DEBUG) BUILD_FOR_X86=$(BUILD_FOR_X86) \ GENERATE_OPTIONS = NDK_DEBUG=$(NDK_DEBUG) BUILD_FOR_X86=$(BUILD_FOR_X86) \
BUILD_AMRNB=$(BUILD_AMRNB) BUILD_AMRWB=$(BUILD_AMRWB) BUILD_SILK=$(BUILD_SILK) BUILD_G729=$(BUILD_G729) BUILD_OPUS=$(BUILD_OPUS) \ BUILD_AMRNB=$(BUILD_AMRNB) BUILD_AMRWB=$(BUILD_AMRWB) BUILD_SILK=$(BUILD_SILK) BUILD_G729=$(BUILD_G729) BUILD_OPUS=$(BUILD_OPUS) \
BUILD_VIDEO=$(BUILD_VIDEO) BUILD_X264=$(BUILD_X264) \ BUILD_VIDEO=$(BUILD_VIDEO) BUILD_X264=$(BUILD_X264) \
BUILD_UPNP=$(BUILD_UPNP) BUILD_GPLV3_ZRTP=$(BUILD_GPLV3_ZRTP) BUILD_WEBRTC_AECM=$(BUILD_WEBRTC_AECM) BUILD_UPNP=$(BUILD_UPNP) BUILD_GPLV3_ZRTP=$(BUILD_GPLV3_ZRTP) BUILD_WEBRTC_AECM=$(BUILD_WEBRTC_AECM) BUILD_WEBRTC_ISAC=$(BUILD_WEBRTC_ISAC)
LIBLINPHONE_OPTIONS = $(GENERATE_OPTIONS) \ LIBLINPHONE_OPTIONS = $(GENERATE_OPTIONS) \
LINPHONE_VERSION=$(LINPHONE_VERSION) BELLESIP_VERSION=$(BELLESIP_VERSION) USE_JAVAH=$(USE_JAVAH) \ LINPHONE_VERSION=$(LINPHONE_VERSION) BELLESIP_VERSION=$(BELLESIP_VERSION) USE_JAVAH=$(USE_JAVAH) \

View file

@ -142,14 +142,43 @@ ifneq ($(BUILD_OPUS), 0)
include $(linphone-root-dir)/submodules/externals/build/opus/Android.mk include $(linphone-root-dir)/submodules/externals/build/opus/Android.mk
endif endif
ifneq ($(BUILD_WEBRTC_AECM), 0) WEBRTC_BUILD_NEON_LIBS=false
ifneq ($(TARGET_ARCH), x86)
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a) # AECM
WEBRTC_BUILD_NEON_LIBS=true ifneq ($(BUILD_WEBRTC_AECM),0)
ifneq ($(TARGET_ARCH), x86)
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
$(info $(TARGET_ARCH_ABI): Build NEON modules for AECM)
WEBRTC_BUILD_NEON_LIBS=true
endif
$(info $(TARGET_ARCH_ABI): Build AECM from WebRTC)
include $(linphone-root-dir)/submodules/externals/build/webrtc/system_wrappers/Android.mk
include $(linphone-root-dir)/submodules/externals/build/webrtc/modules/audio_processing/utility/Android.mk
include $(linphone-root-dir)/submodules/externals/build/webrtc/modules/audio_processing/aecm/Android.mk
endif
endif endif
include $(linphone-root-dir)/submodules/externals/build/webrtc/system_wrappers/Android.mk
include $(linphone-root-dir)/submodules/externals/build/webrtc/common_audio/signal_processing/Android.mk # iSAC
include $(linphone-root-dir)/submodules/externals/build/webrtc/modules/audio_processing/utility/Android.mk ifneq ($(BUILD_WEBRTC_ISAC),0)
include $(linphone-root-dir)/submodules/externals/build/webrtc/modules/audio_processing/aecm/Android.mk
# don't build for neon in x86
ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)
$(info $(TARGET_ARCH_ABI): Build NEON modules for ISAC)
WEBRTC_BUILD_NEON_LIBS=true
endif
$(info $(TARGET_ARCH_ABI): Build proprietary iSAC plugin for mediastreamer2)
include $(linphone-root-dir)/submodules/externals/build/webrtc/modules/audio_coding/codecs/isac/fix/source/Android.mk
include $(linphone-root-dir)/submodules/msisac/Android.mk
endif endif
# common modules for ISAC and AECM
ifneq ($(BUILD_WEBRTC_AECM)$(BUILD_WEBRTC_ISAC),00)
$(info $(TARGET_ARCH_ABI): Build common modules for iSAC and AECM ($(BUILD_WEBRTC_AECM)$(BUILD_WEBRTC_ISAC)))
include $(linphone-root-dir)/submodules/externals/build/webrtc/common_audio/signal_processing/Android.mk
endif endif

View file

@ -95,6 +95,11 @@ APP_MODULES += libwebrtc_system_wrappers libwebrtc_spl libwebrtc_apm_utility lib
APP_MODULES += libwebrtc_spl_neon libwebrtc_aecm_neon APP_MODULES += libwebrtc_spl_neon libwebrtc_aecm_neon
endif endif
ifneq ($(BUILD_WEBRTC_ISAC), 0)
APP_MODULES += libwebrtc_spl libwebrtc_isacfix libmsisac
APP_MODULES += libwebrtc_spl_neon libwebrtc_isacfix_neon
endif
ifeq ($(BUILD_MEDIASTREAMER2_SDK), 0) ifeq ($(BUILD_MEDIASTREAMER2_SDK), 0)
ifeq ($(RING),yes) ifeq ($(RING),yes)
APP_MODULES += libring APP_MODULES += libring