Commit af6915a2 authored by Emmanuel Milou's avatar Emmanuel Milou

Use speexdsp only if available 3

parent 7f27b180
......@@ -231,19 +231,20 @@ AS_IF([test "x$with_speex" != xno],
[AC_MSG_FAILURE(
[libspeex link test failed. You may use --without-speex to compile without speex codec support.])]
)
]
]
dnl More advanced check in case the libspeexdsp is not installed
AC_CHECK_LIB(speex, speex_preprocess_run, HAVE_SPEEXDSP=true, HAVE_SPEEXDSP=false)
AC_SEARCH_LIBS(speex_preprocess_run, speexdsp, HAVE_SPEEXDSP="yes", HAVE_SPEEXDSP="no", [])
if test $HAVE_SPEEXDSP = false; then
AC_MSG_WARN([The silence detection in speex could not have been enabled])
if test $HAVE_SPEEXDSP="no"; then
echo $HAVE_SPEEXDSP;
AC_MSG_WARN([The silence detection in speex could not have been enabled])
fi
)
AC_DEFINE([HAVE_SPEEX], test "x$with_speex" = "xyes", [Define if you have libspeex])
AM_CONDITIONAL(BUILD_SPEEX, test "x$with_speex" = "xyes" )
AM_CONDITIONAL(ENABLE_SPEEXDSP, $HAVE_SPEEXDSP)
AM_CONDITIONAL(ENABLE_SPEEXDSP, test $HAVE_SPEEXDSP = yes)
dnl Check for ilbc support
AC_ARG_WITH([ilbc],
......
......@@ -10,15 +10,15 @@ INSTALL_GSM_RULE = install-libcodec_gsm_so
endif
if ENABLE_SPEEXDSP
SPEEXDSP_LIB = -lspeexdsp
SPEEXDSP= -DHAVE_SPEEXDSP_LIB
endif
if BUILD_SPEEX
SPEEX_LIB = libcodec_speex.so
libcodec_speex_so_SOURCES = speexcodec.cpp
libcodec_speex_so_CFLAGS = -fPIC -g -Wall
libcodec_speex_so_CXXFLAGS = -fPIC -g -Wall
libcodec_speex_so_LDFLAGS = --shared -lc -lspeex $(SPEEXDSP_LIB) -lm
libcodec_speex_so_CXXFLAGS = -fPIC -g -Wall $(SPEEXDSP)
libcodec_speex_so_LDFLAGS = --shared -lc -lspeex $(SPEEX_NIMP)
INSTALL_SPEEX_RULE = install-libcodec_speex_so
endif
......
......@@ -59,7 +59,7 @@ class Speex : public AudioCodec{
speex_bits_init(&_speex_enc_bits);
_speex_enc_state = speex_encoder_init(_speexModePtr);
#if ENABLE_SPEEXDSP
#ifdef HAVE_SPEEXDSP_LIB
int enable = 1;
int quality = 10;
......@@ -114,10 +114,10 @@ class Speex : public AudioCodec{
{
speex_bits_reset(&_speex_enc_bits);
#if ENABLE_SPEEXDSP
#ifdef HAVE_SPEEXDSP_LIB
speex_encoder_ctl(_speex_enc_state,SPEEX_SET_SAMPLING_RATE,&_clockRate);
speex_preprocess_run(_preprocess_state, src);
#endif
#endif
speex_encode_int(_speex_enc_state, src, &_speex_enc_bits);
int nbBytes = speex_bits_write(&_speex_enc_bits, (char*)dst, size);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment