AC_CHECK_LIB([speex], [speex_decoder_init], [], [HAVE_SPEEX=no])
LIB_SUBST_FLAGS(speex)
UNSTASH_FLAGS
+######################################################################### opus
+STASH_FLAGS
+LIB_ARG_WITH([opus], [-lopus])
+HAVE_OPUS=yes
+AC_CHECK_HEADERS([opus/opus.h], [], [HAVE_OPUS=no])
+AC_CHECK_LIB([opus], [opus_multistream_decode], [], [HAVE_OPUS=no])
+LIB_SUBST_FLAGS(opus)
+UNSTASH_FLAGS
+# some helper functions for codecs which use the ogg container format
AC_DEFUN([NEED_OGG_OBJECTS], [{
test "$HAVE_OGG" = 'yes' -a \( \
"$HAVE_VORBIS" = 'yes' \
-o "$HAVE_SPEEX" = 'yes' \
+ -o "$HAVE_OPUS" = 'yes' \
\)
}])
AC_DEFUN([NEED_VORBIS_OBJECTS], [{
AC_DEFUN([NEED_SPEEX_OBJECTS], [{
test "$HAVE_OGG" = 'yes' -a "$HAVE_SPEEX" = 'yes'
}])
-####################################################### ogg/vorbis/speex/opus
-AC_ARG_WITH(opus_headers, [AS_HELP_STRING(--with-opus-headers=dir,
- [look for opus headers also in dir])])
-AC_ARG_WITH(opus_libs, [AS_HELP_STRING(--with-opus-libs=dir,
- [look for opus libs also in dir])])
-
-have_opus="yes"
-if test "$HAVE_OGG" = 'yes'; then
-
- # opus
- OLD_CPPFLAGS="$CPPFLAGS"
- OLD_LDFLAGS="$LDFLAGS"
- OLD_LIBS="$LIBS"
- if test -n "$with_opus_headers"; then
- opus_cppflags="-I$with_opus_headers"
- CPPFLAGS="$CPPFLAGS $opus_cppflags"
- fi
- if test -n "$with_opus_libs"; then
- opus_libs="-L$with_opus_libs"
- LDFLAGS="$LDFLAGS $opus_libs"
- fi
- AC_CHECK_LIB([opus], [opus_multistream_decode], [], [ have_opus="no" ])
- AC_CHECK_HEADERS([opus/opus.h], [], [ have_opus="no" ])
- CPPFLAGS="$OLD_CPPFLAGS"
- LDFLAGS="$OLD_LDFLAGS"
- LIBS="$OLD_LIBS"
-else
- AC_MSG_WARN([vorbis/speex/opus depend on libogg, which was not detected])
- have_opus="no"
-fi
-
-if test "$have_opus" = "yes"; then
- AC_DEFINE(HAVE_OPUS, 1, define to 1 to turn on ogg/opus support)
- AC_SUBST(opus_cppflags)
- opus_ldflags="$opus_libs -lopus"
- AC_SUBST(opus_ldflags)
- audio_format_handlers="$audio_format_handlers opus"
-else
- AC_MSG_WARN([no ogg/opus $msg])
-fi
+AC_DEFUN([NEED_OPUS_OBJECTS], [{
+ test "$HAVE_OGG" = 'yes' -a "$HAVE_OPUS" = 'yes'
+}])
########################################################################### faad
have_faad=yes
OLD_CPPFLAGS="$CPPFLAGS"
NEED_OGG_OBJECTS() && server_errlist_objs="$server_errlist_objs ogg_afh_common"
NEED_VORBIS_OBJECTS() && server_errlist_objs="$server_errlist_objs ogg_afh"
NEED_SPEEX_OBJECTS() && server_errlist_objs="$server_errlist_objs spx_afh spx_common"
- if test "$have_opus" = "yes"; then
- server_errlist_objs="$server_errlist_objs opus_afh opus_common"
- fi
+ NEED_OPUS_OBJECTS() && server_errlist_objs="$server_errlist_objs opus_afh opus_common"
if test "$have_faad" = "yes"; then
server_errlist_objs="$server_errlist_objs aac_afh aac_common"
fi
audiod_errlist_objs="$audiod_errlist_objs spxdec_filter spx_common"
audiod_audio_formats="$audiod_audio_formats spx"
}
- if test "$have_opus" = "yes"; then
+ NEED_OPUS_OBJECTS && {
audiod_errlist_objs="$audiod_errlist_objs opusdec_filter opus_common"
audiod_audio_formats="$audiod_audio_formats opus"
- fi
+ }
if test "$have_faad" = "yes"; then
audiod_errlist_objs="$audiod_errlist_objs aacdec_filter aac_common"
audiod_audio_formats="$audiod_audio_formats aac"
filters="$filters spxdec"
filter_errlist_objs="$filter_errlist_objs spxdec_filter spx_common"
}
-if test "$have_opus" = "yes"; then
+NEED_OPUS_OBJECTS && {
filters="$filters opusdec"
filter_errlist_objs="$filter_errlist_objs opusdec_filter opus_common"
-fi
+}
if test "$have_faad" = "yes"; then
filter_errlist_objs="$filter_errlist_objs aacdec_filter aac_common"
filters="$filters aacdec"
mp3_afh
version
"
-if NEED_OGG_OBJECTS || test "$have_opus" = 'yes'; then
- recv_errlist_objs="$recv_errlist_objs ogg_afh_common"
-fi
+NEED_OGG_OBJECTS && recv_errlist_objs="$recv_errlist_objs ogg_afh_common"
NEED_VORBIS_OBJECTS && recv_errlist_objs="$recv_errlist_objs ogg_afh"
NEED_SPEEX_OBJECTS && recv_errlist_objs="$recv_errlist_objs spx_afh spx_common"
-if test "$have_opus" = "yes"; then
- recv_errlist_objs="$recv_errlist_objs opus_afh opus_common"
-fi
+NEED_OPUS_OBJECTS && recv_errlist_objs="$recv_errlist_objs opus_afh opus_common"
+
if test "$have_faad" = "yes"; then
recv_errlist_objs="$recv_errlist_objs aac_afh aac_common"
fi
version
ggo
"
-if NEED_OGG_OBJECTS || test "$have_opus" = 'yes'; then
- afh_errlist_objs="$afh_errlist_objs ogg_afh_common"
-fi
+NEED_OGG_OBJECTS && afh_errlist_objs="$afh_errlist_objs ogg_afh_common"
NEED_VORBIS_OBJECTS && {
afh_errlist_objs="$afh_errlist_objs ogg_afh"
audio_format_handlers="$audio_format_handlers ogg"
afh_errlist_objs="$afh_errlist_objs spx_afh spx_common"
audio_format_handlers="$audio_format_handlers spx"
}
-if test "$have_opus" = "yes"; then
+NEED_OPUS_OBJECTS && {
afh_errlist_objs="$afh_errlist_objs opus_afh opus_common"
audio_format_handlers="$audio_format_handlers opus"
-fi
+}
if test "$have_faad" = "yes"; then
afh_errlist_objs="$afh_errlist_objs aac_common aac_afh"
audio_format_handlers="$audio_format_handlers aac"
play_errlist_objs="$play_errlist_objs osx_write ipc"
play_cmdline_objs="$play_cmdline_objs osx_write"
fi
-if NEED_OGG_OBJECTS || test "$have_opus" = 'yes'; then
- play_errlist_objs="$play_errlist_objs ogg_afh_common"
-fi
+NEED_OGG_OBJECTS && play_errlist_objs="$play_errlist_objs ogg_afh_common"
NEED_VORBIS_OBJECTS && {
play_errlist_objs="$play_errlist_objs oggdec_filter ogg_afh"
}
NEED_SPEEX_OBJECTS && {
play_errlist_objs="$play_errlist_objs spxdec_filter spx_afh spx_common"
}
-if test "$have_opus" = "yes"; then
- play_errlist_objs="$play_errlist_objs opusdec_filter opus_afh opus_common"
-fi
+NEED_OPUS_OBJECTS &&
+ play_errlist_objs="$play_errlist_objs
+ opusdec_filter
+ opus_afh
+ opus_common
+ "
if test "$have_faad" = "yes"; then
play_errlist_objs="$play_errlist_objs aacdec_filter aac_afh aac_common"
fi