summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog10
-rw-r--r--configure.ac7
-rw-r--r--ext/dts/gstdtsdec.c9
3 files changed, 23 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 2365632c..76686cc6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2008-01-23 Sebastian Dröge <slomo@circular-chaos.org>
+
+ * configure.ac:
+ * ext/dts/gstdtsdec.c:
+ Add support for building against libdca (with the libdts compat
+ header). Fixes bug #511530.
+
+ Should probably be ported to libdca as some points as it's the
+ successor of libdts.
+
2008-01-23 Zaheer Abbas Merali <zaheerabbas at merali dot org>
* sys/dvb/gstdvbsrc.c:
diff --git a/configure.ac b/configure.ac
index bc13b65a..58c2c379 100644
--- a/configure.ac
+++ b/configure.ac
@@ -420,8 +420,13 @@ AG_GST_CHECK_FEATURE(DIRECTFB, [directfb], dfbvideosink , [
dnl *** DTS ***
translit(dnm, m, l) AM_CONDITIONAL(USE_DTS, true)
AG_GST_CHECK_FEATURE(DTS, [dts library], dtsdec, [
+ HAVE_DTS="yes"
AG_GST_CHECK_LIBHEADER(DTS, dts_pic, dts_init, -lm, dts.h,
- DTS_LIBS="-ldts_pic -lm")
+ DTS_LIBS="-ldts_pic -lm", HAVE_DTS="no")
+ if test $HAVE_DTS = "no"; then
+ AG_GST_CHECK_LIBHEADER(DTS, dca, dca_init, -lm, dts.h,
+ DTS_LIBS="-ldca -lm")
+ fi
AC_SUBST(DTS_LIBS)
])
diff --git a/ext/dts/gstdtsdec.c b/ext/dts/gstdtsdec.c
index 7ece5da3..1ab80b01 100644
--- a/ext/dts/gstdtsdec.c
+++ b/ext/dts/gstdtsdec.c
@@ -17,6 +17,11 @@
* Boston, MA 02111-1307, USA.
*/
+/* TODO: - Port to libdca API instead of relying on the compat header.
+ * libdca is the successor of libdts:
+ * http://www.videolan.org/developers/libdca.html
+ */
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@@ -56,14 +61,14 @@ static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
GST_STATIC_CAPS ("audio/x-dts;" "audio/x-private1-dts")
);
-#if defined(LIBDTS_FIXED)
+#if defined(LIBDTS_FIXED) || defined(LIBDCA_FIXED)
#define DTS_CAPS "audio/x-raw-int, " \
"endianness = (int) " G_STRINGIFY (G_BYTE_ORDER) ", " \
"signed = (boolean) true, " \
"width = (int) 16, " \
"depth = (int) 16"
#define SAMPLE_WIDTH 16
-#elif defined(LIBDTS_DOUBLE)
+#elif defined(LIBDTS_DOUBLE) || defined(LIBDCA_DOUBLE)
#define DTS_CAPS "audio/x-raw-float, " \
"endianness = (int) " G_STRINGIFY (G_BYTE_ORDER) ", " \
"width = (int) 64"