summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog12
-rw-r--r--configure.ac46
-rw-r--r--ext/Makefile.am11
3 files changed, 63 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 41231996..5a61c2d1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2005-08-23 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+
+ * configure.ac:
+ * ext/Makefile.am:
+ * ext/speex/Makefile.am:
+ * ext/speex/gstspeex.c: (plugin_init):
+ * ext/speex/gstspeexdec.c: (speex_get_query_types),
+ (gst_speex_dec_init), (speex_dec_src_query), (speex_dec_src_event),
+ (speex_dec_event), (speex_dec_chain):
+ Port speexdec. Leads to some unfamiliar warnings on console,
+ but works otherwise.
+
2005-08-23 Andy Wingo <wingo@pobox.com>
* sys/oss/gstosssrc.c (gst_oss_src_open): Set the device-name
diff --git a/configure.ac b/configure.ac
index cbf2b272..ca0822da 100644
--- a/configure.ac
+++ b/configure.ac
@@ -583,7 +583,50 @@ GST_CHECK_FEATURE(LIBPNG, [libpng PNG encoder], pngenc, [
AC_SUBST(LIBPNG_LIBS)
])
-
+dnl *** speex >= 1.0.4 or >= 1.1.5 ***
+dnl 1.1.4 and earlier were not API/ABI compatible with 1.0
+dnl 1.1.6 is the first to use a .pc/pkg-config file ***
+dnl speex_jitter.h is 1.1.x only
+translit(dnm, m, l) AM_CONDITIONAL(USE_SPEEX, true)
+GST_CHECK_FEATURE(SPEEX, [speex plug-in], speex, [
+ PKG_CHECK_MODULES(SPEEX, speex >= 1.1.6, [
+ HAVE_SPEEX="yes"
+ AC_SUBST(SPEEX_CFLAGS)
+ AC_SUBST(SPEEX_LIBS)
+ ], [
+ GST_CHECK_LIBHEADER(SPEEX, speex, speex_bits_init, , speex/speex.h, [
+ AC_CHECK_HEADER(speex/speex_jitter.h, [
+ dnl speex 1.1.x :
+ GST_CHECK_LIBHEADER(SPEEX, speex, speex_encode_int, , speex/speex.h, [
+ dnl speex 1.1.5 or + :
+ HAVE_SPEEX="yes"
+ SPEEX_LIBS="-lspeex"
+ AC_SUBST(SPEEX_CFLAGS)
+ AC_SUBST(SPEEX_LIBS)
+ ],[
+ HAVE_SPEEX="no"
+ ])
+ ],[
+ dnl speex 1.0.x :
+ AC_CHECK_DECL(SPEEX_GET_LOOKAHEAD, [
+ dnl speex 1.0.4
+ HAVE_SPEEX="yes"
+ SPEEX_LIBS="-lspeex"
+ AC_SUBST(SPEEX_CFLAGS)
+ AC_SUBST(SPEEX_LIBS)
+
+ AC_DEFINE_UNQUOTED(SPEEX_1_0, 1,
+ [defined if speex 1.0.x API detected])
+ ],[
+ HAVE_SPEEX="no"
+ AC_MSG_NOTICE(You need at least 1.0.4 to compile the speex plugin)
+ ], [
+#include <speex/speex.h>
+ ])
+ ])
+ ])
+ ])
+])
dnl also add builddir include for enumtypes and marshal
GST_CFLAGS="-I\$(top_srcdir)/gst-libs -I\$(top_builddir)/gst-libs $GST_CFLAGS $GST_ERROR"
@@ -676,6 +719,7 @@ ext/mad/Makefile
ext/raw1394/Makefile
ext/shout2/Makefile
ext/sidplay/Makefile
+ext/speex/Makefile
ext/esd/Makefile
ext/mpeg2dec/Makefile
ext/faad/Makefile
diff --git a/ext/Makefile.am b/ext/Makefile.am
index 7f1ea76a..de7252cd 100644
--- a/ext/Makefile.am
+++ b/ext/Makefile.am
@@ -364,11 +364,11 @@ XVID_DIR=
SNAPSHOT_DIR=
# endif
-# if USE_SPEEX
-# SPEEX_DIR=speex
-# else
+if USE_SPEEX
+SPEEX_DIR=speex
+else
SPEEX_DIR=
-# endif
+endif
# if USE_XINE
# XINE_DIR=xine
@@ -455,4 +455,5 @@ DIST_SUBDIRS=\
mpeg2dec \
jpeg \
libpng \
- lame
+ lame \
+ speex