summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac6
-rw-r--r--src/mp4_decode.c7
2 files changed, 10 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index 68950ab28..9c91c527a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -255,9 +255,13 @@ if test x$enable_aac = xyes; then
LIBS="$LIBS $MPD_LIBS $FAAD_LIBS"
AC_CHECK_HEADER(faad.h,,enable_aac=no)
if test x$enable_aac = xyes; then
- AC_CHECK_LIB(faad, faacDecDecode,[MPD_LIBS="$MPD_LIBS $FAAD_LIBS";MPD_CFLAGS="$MPD_CFLAGS $FAAD_CFLAGS";MP4FF_SUBDIR="mp4ff";MP4FF_LIB="mp4ff/libmp4ff.la"],enable_aac=no)
+ AC_CHECK_DECL(faacDecInit2,,enable_aac=no,[#include <faad.h>])
fi
if test x$enable_aac = xyes; then
+ AC_CHECK_LIB(faad,faacDecInit2,[MPD_LIBS="$MPD_LIBS $FAAD_LIBS";MPD_CFLAGS="$MPD_CFLAGS $FAAD_CFLAGS";MP4FF_SUBDIR="mp4ff";MP4FF_LIB="mp4ff/libmp4ff.la"],enable_aac=no)
+ fi
+ if test x$enable_aac = xyes; then
+ AC_CHECK_MEMBERS([faacDecConfiguration.downMatrix,faacDecConfiguration.dontUpSampleImplicitSBR],,,[#include <faad.h>])
AC_DEFINE(HAVE_FAAD,1,[Define to use FAAD2 for AAC decoding])
else
AC_MSG_WARN([faad2 lib needed for MP4/AAC support -- disabling MP4/AAC support])
diff --git a/src/mp4_decode.c b/src/mp4_decode.c
index cf7fb6137..a2cfc2ee0 100644
--- a/src/mp4_decode.c
+++ b/src/mp4_decode.c
@@ -132,9 +132,12 @@ int mp4_decode(Buffer * cb, AudioFormat * af, DecoderControl * dc) {
config = faacDecGetCurrentConfiguration(decoder);
config->outputFormat = FAAD_FMT_16BIT;
+#ifdef HAVE_FAACDECCONFIGURATION_DOWNMATRIX
config->downMatrix = 1;
- /*comment this out, its not in faad2 2.0 rc2*/
- /*config->dontUpSampleImplicitSBR = 0;*/
+#endif
+#ifdef HAVE_FAACDECCONFIGURATION_DONTUPSAMPLEIMPLICITSBR
+ config->dontUpSampleImplicitSBR = 0;
+#endif
faacDecSetConfiguration(decoder,config);
af->bits = 16;