gst-plugins-base: use upstream fix for ivorbis plugin build fail

Previously, I submitted a patch "[PATCH v2][packages]gst-plugins-base: disable building ivorbis plugin" that disables ivorbis plugin build. Michel Stempin pointed out an upstream patch that fixes the issue directly in the vorbis decoder header. I had missed this patch in my previous searches.

This patch reverts the disabling of ivorbis and adds the upstream fix. I have tested this patch and it fixes the build issue. Thanks to Michel Stempin for bringing this to my attention and pointing me to the upstream fix.

Signed-off-by John Vogel <jvogel4@stny.rr.com>


git-svn-id: svn://svn.openwrt.org/openwrt/packages@39666 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
hauke 2014-02-21 22:25:58 +00:00
parent 9719ae860c
commit 2c6bdb4f53
5 changed files with 137 additions and 7 deletions

View File

@ -86,7 +86,6 @@ CONFIGURE_ARGS += \
$(call GST_COND_SELECT,gio) \
--disable-gnome_vfs \
--disable-gst_v4l \
--disable-ivorbis \
--disable-libvisual \
$(call GST_COND_SELECT,ogg) \
--disable-oggtest \

View File

@ -17,7 +17,7 @@
tools \
--- a/Makefile.in
+++ b/Makefile.in
@@ -446,14 +446,12 @@ SUBDIRS = \
@@ -464,14 +464,12 @@ SUBDIRS = \
gst sys $(SUBDIRS_EXT) \
tools \
tests \

View File

@ -18,7 +18,7 @@
m4
--- a/Makefile.in
+++ b/Makefile.in
@@ -445,7 +445,6 @@ SUBDIRS = \
@@ -463,7 +463,6 @@ SUBDIRS = \
gst-libs \
gst sys $(SUBDIRS_EXT) \
tools \
@ -26,7 +26,7 @@
po \
common \
m4
@@ -455,7 +454,6 @@ DIST_SUBDIRS = \
@@ -473,7 +472,6 @@ DIST_SUBDIRS = \
gst-libs \
gst sys ext \
tools \

View File

@ -1,6 +1,6 @@
--- a/configure.ac
+++ b/configure.ac
@@ -956,7 +956,6 @@ docs/design/Makefile
@@ -1031,7 +1031,6 @@ docs/design/Makefile
docs/libs/Makefile
docs/plugins/Makefile
docs/version.entities
@ -28,7 +28,7 @@
--- a/Makefile.in
+++ b/Makefile.in
@@ -445,7 +445,6 @@ SUBDIRS = \
@@ -463,7 +463,6 @@ SUBDIRS = \
gst-libs \
gst sys $(SUBDIRS_EXT) \
tools \
@ -36,7 +36,7 @@
common \
m4
@@ -454,7 +453,6 @@ DIST_SUBDIRS = \
@@ -472,7 +471,6 @@ DIST_SUBDIRS = \
gst-libs \
gst sys ext \
tools \

View File

@ -0,0 +1,131 @@
From 787e896bdeb6c67d13a918ec55d3826fa010fb90 Mon Sep 17 00:00:00 2001
From: Peter Korsgaard <jacmet@sunsite.dk>
Date: Wed, 25 Jan 2012 22:53:04 +0000
Subject: vorbisdec: support modern Tremor versions
Tremor changed to use standard libogg rather than its own incompatible
copy back in Aug 2010 (r17375), causing gst-plugin-base build to fail.
Tremolo so far unfortunately hasn't been updated. Restructure
vorbisdeclib.h so the int/float logic is seperate from the ogg handling,
and only use the legacy _ogg_packet_wrapper code for Tremolo.
https://bugzilla.gnome.org/show_bug.cgi?id=668726
---
(limited to 'ext/vorbis/gstvorbisdeclib.h')
--- a/ext/vorbis/gstvorbisdeclib.h
+++ b/ext/vorbis/gstvorbisdeclib.h
@@ -29,11 +29,6 @@
#ifndef TREMOR
-#include <vorbis/codec.h>
-
-typedef float vorbis_sample_t;
-typedef ogg_packet ogg_packet_wrapper;
-
#define GST_VORBIS_DEC_DESCRIPTION "decode raw vorbis streams to float audio"
#define GST_VORBIS_DEC_SRC_CAPS \
@@ -47,6 +42,42 @@ typedef ogg_packet o
#define GST_VORBIS_DEC_GLIB_TYPE_NAME GstVorbisDec
+#else /* TREMOR */
+
+#define GST_VORBIS_DEC_DESCRIPTION "decode raw vorbis streams to integer audio"
+
+#define GST_VORBIS_DEC_SRC_CAPS \
+ GST_STATIC_CAPS ("audio/x-raw-int, " \
+ "rate = (int) [ 1, MAX ], " \
+ "channels = (int) [ 1, 6 ], " \
+ "endianness = (int) BYTE_ORDER, " \
+ "width = (int) { 16, 32 }, " \
+ "depth = (int) 16, " \
+ "signed = (boolean) true")
+
+#define GST_VORBIS_DEC_DEFAULT_SAMPLE_WIDTH (16)
+
+/* we need a different type name here */
+#define GST_VORBIS_DEC_GLIB_TYPE_NAME GstIVorbisDec
+
+/* and still have it compile */
+typedef struct _GstVorbisDec GstIVorbisDec;
+typedef struct _GstVorbisDecClass GstIVorbisDecClass;
+
+#endif /* TREMOR */
+
+#ifndef USE_TREMOLO
+
+#ifdef TREMOR
+ #include <tremor/ivorbiscodec.h>
+ typedef ogg_int32_t vorbis_sample_t;
+#else
+ #include <vorbis/codec.h>
+ typedef float vorbis_sample_t;
+#endif
+
+typedef ogg_packet ogg_packet_wrapper;
+
static inline guint8 *
gst_ogg_packet_data (ogg_packet * p)
{
@@ -72,17 +103,11 @@ gst_ogg_packet_from_wrapper (ogg_packet_
return packet;
}
-#else
-
-#ifdef USE_TREMOLO
- #include <Tremolo/ivorbiscodec.h>
- #include <Tremolo/codec_internal.h>
- typedef ogg_int16_t vorbis_sample_t;
-#else
- #include <tremor/ivorbiscodec.h>
- typedef ogg_int32_t vorbis_sample_t;
-#endif
+#else /* USE_TREMOLO */
+#include <Tremolo/ivorbiscodec.h>
+#include <Tremolo/codec_internal.h>
+typedef ogg_int16_t vorbis_sample_t;
typedef struct _ogg_packet_wrapper ogg_packet_wrapper;
struct _ogg_packet_wrapper {
@@ -91,26 +116,6 @@ struct _ogg_packet_wrapper {
ogg_buffer buf;
};
-#define GST_VORBIS_DEC_DESCRIPTION "decode raw vorbis streams to integer audio"
-
-#define GST_VORBIS_DEC_SRC_CAPS \
- GST_STATIC_CAPS ("audio/x-raw-int, " \
- "rate = (int) [ 1, MAX ], " \
- "channels = (int) [ 1, 6 ], " \
- "endianness = (int) BYTE_ORDER, " \
- "width = (int) { 16, 32 }, " \
- "depth = (int) 16, " \
- "signed = (boolean) true")
-
-#define GST_VORBIS_DEC_DEFAULT_SAMPLE_WIDTH (16)
-
-/* we need a different type name here */
-#define GST_VORBIS_DEC_GLIB_TYPE_NAME GstIVorbisDec
-
-/* and still have it compile */
-typedef struct _GstVorbisDec GstIVorbisDec;
-typedef struct _GstVorbisDecClass GstIVorbisDecClass;
-
/* compensate minor variation */
#define vorbis_synthesis(a, b) vorbis_synthesis (a, b, 1)
@@ -154,7 +159,7 @@ gst_ogg_packet_from_wrapper (ogg_packet_
return &(packet->packet);
}
-#endif
+#endif /* USE_TREMOLO */
typedef void (*CopySampleFunc)(vorbis_sample_t *out, vorbis_sample_t **in,
guint samples, gint channels, gint width);