Port speexdec. Leads to some unfamiliar warnings on console, but works otherwise.
authorRonald S. Bultje <rbultje@ronald.bitfreak.net>
Tue, 23 Aug 2005 15:14:01 +0000 (15:14 +0000)
committerRonald S. Bultje <rbultje@ronald.bitfreak.net>
Tue, 23 Aug 2005 15:14:01 +0000 (15:14 +0000)
Original commit message from CVS:
* 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.

ChangeLog
configure.ac
ext/Makefile.am

index 4123199..5a61c2d 100644 (file)
--- 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
index cbf2b27..ca0822d 100644 (file)
@@ -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
index 7f1ea76..de7252c 100644 (file)
@@ -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