mirror of
https://github.com/danog/libtgvoip.git
synced 2024-11-30 04:39:03 +01:00
5380aaba0d
- Refactored audio I/O to allow sharing a common context between input and output, for those OSes that require this - Rewritten periodic operation handling to use a "run loop" thingy instead of an ugly loop formerly known as tick thread - Fixed a bunch of compiler warnings (closes #13) - Added automake so you no longer need to use the GYP file for standalone builds (closes #43)
268 lines
11 KiB
Makefile
268 lines
11 KiB
Makefile
AUTOMAKE_OPTIONS = foreign
|
|
|
|
CFLAGS = -Wall -DHAVE_CONFIG_H -Wno-unknown-pragmas
|
|
|
|
lib_LTLIBRARIES = libtgvoip.la
|
|
|
|
SRC = VoIPController.cpp \
|
|
Buffers.cpp \
|
|
CongestionControl.cpp \
|
|
EchoCanceller.cpp \
|
|
JitterBuffer.cpp \
|
|
logging.cpp \
|
|
MediaStreamItf.cpp \
|
|
MessageThread.cpp \
|
|
NetworkSocket.cpp \
|
|
OpusDecoder.cpp \
|
|
OpusEncoder.cpp \
|
|
PacketReassembler.cpp \
|
|
VoIPGroupController.cpp \
|
|
VoIPServerConfig.cpp \
|
|
audio/AudioIO.cpp \
|
|
audio/AudioInput.cpp \
|
|
audio/AudioOutput.cpp \
|
|
audio/Resampler.cpp \
|
|
os/posix/NetworkSocketPosix.cpp
|
|
|
|
TGVOIP_HDRS = \
|
|
VoIPController.h \
|
|
Buffers.h \
|
|
BlockingQueue.h \
|
|
PrivateDefines.h \
|
|
CongestionControl.h \
|
|
EchoCanceller.h \
|
|
JitterBuffer.h \
|
|
logging.h \
|
|
threading.h \
|
|
MediaStreamItf.h \
|
|
MessageThread.h \
|
|
NetworkSocket.h \
|
|
OpusDecoder.h \
|
|
OpusEncoder.h \
|
|
PacketReassembler.h \
|
|
VoIPServerConfig.h \
|
|
audio/AudioIO.h \
|
|
audio/AudioInput.h \
|
|
audio/AudioOutput.h \
|
|
audio/Resampler.h \
|
|
os/posix/NetworkSocketPosix.h
|
|
|
|
if TARGET_OS_OSX
|
|
|
|
SRC += \
|
|
os/darwin/AudioInputAudioUnit.cpp \
|
|
os/darwin/AudioOutputAudioUnit.cpp \
|
|
os/darwin/AudioUnitIO.cpp \
|
|
os/darwin/AudioInputAudioUnitOSX.cpp \
|
|
os/darwin/AudioOutputAudioUnitOSX.cpp \
|
|
os/darwin/DarwinSpecific.mm
|
|
|
|
TGVOIP_HDRS += \
|
|
os/darwin/AudioInputAudioUnit.h \
|
|
os/darwin/AudioOutputAudioUnit.h \
|
|
os/darwin/AudioUnitIO.h \
|
|
os/darwin/AudioInputAudioUnitOSX.h \
|
|
os/darwin/AudioOutputAudioUnitOSX.h \
|
|
os/darwin/DarwinSpecific.h
|
|
|
|
LDFLAGS += -framework Foundation -framework CoreFoundation -framework CoreAudio -framework AudioToolbox
|
|
|
|
else
|
|
# Linux-specific
|
|
if WITH_ALSA
|
|
SRC += \
|
|
os/linux/AudioInputALSA.cpp \
|
|
os/linux/AudioOutputALSA.cpp
|
|
TGVOIP_HDRS += \
|
|
os/linux/AudioInputALSA.h \
|
|
os/linux/AudioOutputALSA.h
|
|
endif
|
|
|
|
if WITH_PULSE
|
|
SRC += \
|
|
os/linux/AudioOutputPulse.cpp \
|
|
os/linux/AudioInputPulse.cpp \
|
|
os/linux/AudioPulse.cpp
|
|
TGVOIP_HDRS += \
|
|
os/linux/AudioOutputPulse.h \
|
|
os/linux/AudioInputPulse.h \
|
|
os/linux/AudioPulse.h \
|
|
os/linux/PulseFunctions.h
|
|
endif
|
|
endif
|
|
|
|
if ENABLE_DSP
|
|
CFLAGS += -DWEBRTC_POSIX -DWEBRTC_APM_DEBUG_DUMP=0 -I$(top_srcdir)/webrtc_dsp
|
|
CCASFLAGS += -I$(top_srcdir)/webrtc_dsp
|
|
|
|
SRC += \
|
|
webrtc_dsp/webrtc/common_audio/ring_buffer.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/auto_corr_to_refl_coef.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/auto_correlation.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/complex_fft.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/copy_set_operations.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/cross_correlation.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/division_operations.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/dot_product_with_scale.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/downsample_fast.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/energy.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar_fast_q12.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/filter_ma_fast_q12.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/get_hanning_window.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/get_scaling_square.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/ilbc_specific_functions.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/levinson_durbin.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/lpc_to_refl_coef.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/min_max_operations.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/randomization_functions.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/real_fft.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/refl_coef_to_lpc.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/resample.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/resample_48khz.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2_internal.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/resample_fractional.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/spl_init.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/spl_inl.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/splitting_filter_impl.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/sqrt_of_one_minus_x_squared.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/vector_scaling_operations.c
|
|
|
|
SRC += \
|
|
webrtc_dsp/webrtc/base/checks.cc \
|
|
webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core.cc \
|
|
webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_c.cc \
|
|
webrtc_dsp/webrtc/modules/audio_processing/aecm/echo_control_mobile.cc \
|
|
webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator.cc \
|
|
webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.cc \
|
|
webrtc_dsp/webrtc/modules/audio_processing/three_band_filter_bank.cc \
|
|
webrtc_dsp/webrtc/modules/audio_processing/splitting_filter.cc \
|
|
webrtc_dsp/webrtc/system_wrappers/source/cpu_features.cc \
|
|
webrtc_dsp/webrtc/common_audio/sparse_fir_filter.cc \
|
|
webrtc_dsp/webrtc/common_audio/channel_buffer.cc \
|
|
webrtc_dsp/webrtc/common_audio/audio_util.cc
|
|
|
|
SRC += \
|
|
webrtc_dsp/webrtc/modules/audio_processing/utility/block_mean_calculator.cc \
|
|
webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft.cc \
|
|
webrtc_dsp/webrtc/modules/audio_processing/logging/apm_data_dumper.cc \
|
|
webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core.cc \
|
|
webrtc_dsp/webrtc/modules/audio_processing/aec/aec_resampler.cc \
|
|
webrtc_dsp/webrtc/modules/audio_processing/aec/echo_cancellation.cc \
|
|
webrtc_dsp/webrtc/common_audio/wav_header.cc \
|
|
webrtc_dsp/webrtc/common_audio/wav_file.cc \
|
|
webrtc_dsp/webrtc/base/stringutils.cc
|
|
|
|
if TARGET_CPU_X86
|
|
SRC += \
|
|
webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_sse2.cc \
|
|
webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_sse2.cc
|
|
endif
|
|
|
|
if TARGET_CPU_ARM
|
|
SRC += \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/complex_bit_reverse_arm.S \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt_floor_arm.S
|
|
if TARGET_CPU_ARMV7
|
|
CFLAGS += -mfpu=neon -mfloat-abi=hard
|
|
CCASFLAGS += -mfpu=neon -mfloat-abi=hard
|
|
SRC += \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/cross_correlation_neon.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/downsample_fast_neon.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/min_max_operations_neon.c \
|
|
webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_neon.cc \
|
|
webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core_neon.cc \
|
|
webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_neon.c \
|
|
webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_neon.cc
|
|
# webrtc_dsp/webrtc/common_audio/signal_processing/filter_ar_fast_q12_armv7.S
|
|
endif
|
|
else
|
|
SRC += \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/complex_bit_reverse.c \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/spl_sqrt_floor.c
|
|
endif
|
|
|
|
SRC += \
|
|
webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression_x.c \
|
|
webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression.c \
|
|
webrtc_dsp/webrtc/modules/audio_processing/ns/ns_core.c \
|
|
webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core_c.c \
|
|
webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core.c \
|
|
webrtc_dsp/webrtc/common_audio/fft4g.c
|
|
|
|
SRC += \
|
|
webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/analog_agc.c \
|
|
webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/digital_agc.c
|
|
|
|
# headers
|
|
SRC += \
|
|
webrtc_dsp/webrtc/base/array_view.h \
|
|
webrtc_dsp/webrtc/base/atomicops.h \
|
|
webrtc_dsp/webrtc/base/basictypes.h \
|
|
webrtc_dsp/webrtc/base/checks.h \
|
|
webrtc_dsp/webrtc/base/constructormagic.h \
|
|
webrtc_dsp/webrtc/base/safe_compare.h \
|
|
webrtc_dsp/webrtc/base/safe_conversions.h \
|
|
webrtc_dsp/webrtc/base/safe_conversions_impl.h \
|
|
webrtc_dsp/webrtc/base/sanitizer.h \
|
|
webrtc_dsp/webrtc/base/stringutils.h \
|
|
webrtc_dsp/webrtc/base/type_traits.h \
|
|
webrtc_dsp/webrtc/common_audio/channel_buffer.h \
|
|
webrtc_dsp/webrtc/common_audio/fft4g.h \
|
|
webrtc_dsp/webrtc/common_audio/include/audio_util.h \
|
|
webrtc_dsp/webrtc/common_audio/ring_buffer.h \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/complex_fft_tables.h \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/include/real_fft.h \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/include/signal_processing_library.h \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl.h \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl_armv7.h \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/include/spl_inl_mips.h \
|
|
webrtc_dsp/webrtc/common_audio/signal_processing/resample_by_2_internal.h \
|
|
webrtc_dsp/webrtc/common_audio/sparse_fir_filter.h \
|
|
webrtc_dsp/webrtc/common_audio/wav_file.h \
|
|
webrtc_dsp/webrtc/common_audio/wav_header.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/aec/aec_common.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/aec/aec_core_optimized_methods.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/aec/aec_resampler.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/aec/echo_cancellation.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_core.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/aecm/aecm_defines.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/aecm/echo_control_mobile.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/analog_agc.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/digital_agc.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/agc/legacy/gain_control.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/logging/apm_data_dumper.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/ns/defines.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/ns/noise_suppression_x.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/ns/ns_core.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_core.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/ns/nsx_defines.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/ns/windows_private.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/splitting_filter.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/three_band_filter_bank.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/utility/block_mean_calculator.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_internal.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/utility/delay_estimator_wrapper.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_tables_common.h \
|
|
webrtc_dsp/webrtc/modules/audio_processing/utility/ooura_fft_tables_neon_sse2.h \
|
|
webrtc_dsp/webrtc/system_wrappers/include/asm_defines.h \
|
|
webrtc_dsp/webrtc/system_wrappers/include/compile_assert_c.h \
|
|
webrtc_dsp/webrtc/system_wrappers/include/cpu_features_wrapper.h \
|
|
webrtc_dsp/webrtc/system_wrappers/include/metrics.h \
|
|
webrtc_dsp/webrtc/typedefs.h
|
|
|
|
else
|
|
CFLAGS += -DTGVOIP_NO_DSP
|
|
endif
|
|
|
|
libtgvoip_la_SOURCES = $(SRC) $(TGVOIP_HDRS)
|
|
tgvoipincludedir = $(includedir)/tgvoip
|
|
nobase_tgvoipinclude_HEADERS = $(TGVOIP_HDRS)
|
|
|
|
CXXFLAGS += -std=gnu++0x $(CFLAGS)
|