ext/wavpack/gstwavpackdec.c: More build fixes for old libwavpack versions: include...
authorTim-Philipp Müller <tim@centricular.net>
Sun, 9 Dec 2007 16:34:08 +0000 (16:34 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Sun, 9 Dec 2007 16:34:08 +0000 (16:34 +0000)
Original commit message from CVS:
* ext/wavpack/gstwavpackdec.c:
More build fixes for old libwavpack versions: include config.h so
that WAVPACK_OLD_API is actually defined as detected; only use
WavpackGetErrorMessage if it is available. This fixes the build
on debian stable for me.

ChangeLog
ext/wavpack/gstwavpackdec.c

index f4d9952f3a96667c99c24e1aa88f18c6ba38087a..b28efca9ed29b31f32afdbc070bb423399f7cc1d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2007-12-09  Tim-Philipp Müller  <tim at centricular dot net>
+
+       * ext/wavpack/gstwavpackdec.c:
+         More build fixes for old libwavpack versions: include config.h so
+         that WAVPACK_OLD_API is actually defined as detected; only use
+         WavpackGetErrorMessage if it is available. This fixes the build
+         on debian stable for me.
+
 2007-12-09  Sebastian Dröge  <slomo@circular-chaos.org>
 
        * ext/wavpack/gstwavpackdec.c: (gst_wavpack_dec_chain):
index b81912581892c094c80dec67c1e72e94ac37dec9..488d2716f894cb2012a8be877570e9bdcf31c729 100644 (file)
  * </refsect2>
  */
 
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
 #include <gst/gst.h>
 #include <gst/audio/audio.h>
 #include <gst/audio/multichannel.h>
@@ -410,10 +414,17 @@ invalid_header:
   }
 decode_error:
   {
+    const gchar *reason = "unknown";
+
+    if (dec->context) {
+#ifndef WAVPACK_OLD_API
+      reason = WavpackGetErrorMessage (dec->context);
+#endif
+    } else {
+      reason = "couldn't create decoder context";
+    }
     GST_ELEMENT_ERROR (dec, STREAM, DECODE, (NULL),
-        ("Failed to decode wavpack stream: %s",
-            (dec->context) ? WavpackGetErrorMessage (dec->
-                context) : "couldn't create decoder context"));
+        ("Failed to decode wavpack stream: %s", reason));
     gst_buffer_unref (outbuf);
     gst_buffer_unref (buf);
     return GST_FLOW_ERROR;