aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac42
-rw-r--r--src/Makefile.am7
-rw-r--r--src/decoder_list.c4
3 files changed, 48 insertions, 5 deletions
diff --git a/configure.ac b/configure.ac
index 0fbb4f16..6a794000 100644
--- a/configure.ac
+++ b/configure.ac
@@ -522,7 +522,7 @@ if test x$enable_aac = xyes; then
FAAD_LIBS="-L$faad_prefix/lib"
fi
- FAAD_LIBS="$FAAD_LIBS -lfaad -lmp4ff"
+ FAAD_LIBS="$FAAD_LIBS -lfaad"
if test "x$faad_includes" != "x" ; then
FAAD_CFLAGS="-I$faad_includes"
@@ -624,6 +624,36 @@ fi
AM_CONDITIONAL(HAVE_FAAD, test x$enable_aac = xyes)
+if test x$enable_aac = xyes; then
+ enable_mp4=yes
+ MP4FF_LIBS="-lmp4ff"
+
+ oldcflags=$CFLAGS
+ oldlibs=$LIBS
+ oldcppflags=$CPPFLAGS
+ CFLAGS="$CFLAGS $FAAD_CFLAGS"
+ LIBS="$LIBS $MP4FF_LIBS"
+ CPPFLAGS=$CFLAGS
+
+ AC_CHECK_HEADER(mp4ff.h,,enable_mp4=no)
+
+ if test x$enable_mp4 = xyes; then
+ AC_CHECK_LIB(mp4ff,mp4ff_open_read,,enable_mp4=no)
+ fi
+
+ if test x$enable_mp4 = xyes; then
+ AC_DEFINE(HAVE_MP4, 1, [Define to use FAAD2+mp4ff for MP4 decoding])
+ else
+ AC_MSG_WARN([libmp4ff needed for MP4 support -- disabling MP4 support])
+ fi
+
+ CFLAGS=$oldcflags
+ LIBS=$oldlibs
+ CPPFLAGS=$oldcppflags
+fi
+
+AM_CONDITIONAL(HAVE_MP4, test x$enable_mp4 = xyes)
+
if test x$use_tremor = xyes; then
if test "x$tremor_libraries" != "x" ; then
TREMOR_LIBS="-L$tremor_libraries"
@@ -996,9 +1026,15 @@ else
fi
if test x$enable_aac = xyes; then
- echo " MP4/AAC support ...............enabled"
+ echo " AAC support ...................enabled"
+else
+ echo " AAC support ...................disabled"
+fi
+
+if test x$enable_mp4 = xyes; then
+ echo " MP4 support ...................enabled"
else
- echo " MP4/AAC support ...............disabled"
+ echo " MP4 support ...................disabled"
fi
if test x$enable_mpc = xyes; then
diff --git a/src/Makefile.am b/src/Makefile.am
index 6f11caaa..cc8f6e55 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -182,7 +182,11 @@ mpd_SOURCES += decoder/wavpack_plugin.c
endif
if HAVE_FAAD
-mpd_SOURCES += decoder/aac_plugin.c decoder/mp4_plugin.c
+mpd_SOURCES += decoder/aac_plugin.c
+endif
+
+if HAVE_MP4
+mpd_SOURCES += decoder/mp4_plugin.c
endif
if HAVE_OGG_COMMON
@@ -293,6 +297,7 @@ mpd_LDADD = $(MPD_LIBS) \
$(AUDIOFILE_LIBS) $(LIBMIKMOD_LIBS) \
$(ID3TAG_LIBS) \
$(MAD_LIBS) \
+ $(MP4FF_LIBS) \
$(FFMPEG_LIBS) \
$(GLIB_LIBS)
diff --git a/src/decoder_list.c b/src/decoder_list.c
index 68c053c2..edd147f5 100644
--- a/src/decoder_list.c
+++ b/src/decoder_list.c
@@ -50,9 +50,11 @@ static const struct decoder_plugin *const decoder_plugins[] = {
&audiofilePlugin,
#endif
#ifdef HAVE_FAAD
- &mp4Plugin,
&aacPlugin,
#endif
+#ifdef HAVE_MP4
+ &mp4Plugin,
+#endif
#ifdef HAVE_MPCDEC
&mpcPlugin,
#endif