123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- From 0088753651350de3060ece22c1be4153b6009515 Mon Sep 17 00:00:00 2001
- From: Peter Korsgaard <jacmet@sunsite.dk>
- Date: Wed, 25 Jan 2012 23:53:04 +0100
- Subject: [PATCH] base: vorbisdeclib: support modern Tremor versions
- Reported upstream as https://bugzilla.gnome.org/show_bug.cgi?id=668726
- 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 legacy _ogg_packet_wrapper code is only used for
- Tremolo.
- Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
- ---
- ext/vorbis/gstvorbisdeclib.h | 77 ++++++++++++++++++++++-------------------
- 1 files changed, 41 insertions(+), 36 deletions(-)
- diff --git a/ext/vorbis/gstvorbisdeclib.h b/ext/vorbis/gstvorbisdeclib.h
- index ca00af9..e147591 100644
- --- 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 ogg_packet_wrapper;
-
- #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_wrapper * 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_wrapper * 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);
- --
- 1.7.8.3
|