mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-02 20:42:30 +00:00
Fixes #158382. Make speex plugin compatible with both 1.0 and 1.1.
Original commit message from CVS: * configure.ac: * ext/speex/gstspeexdec.h: * ext/speex/gstspeexenc.h: Fixes #158382. Make speex plugin compatible with both 1.0 and 1.1. Fix detection code in configure.ac
This commit is contained in:
parent
3b494824c0
commit
5701e846db
4 changed files with 74 additions and 54 deletions
|
@ -1,3 +1,11 @@
|
|||
2004-12-23 Thomas Vander Stichele <thomas at apestaart dot org>
|
||||
|
||||
* configure.ac:
|
||||
* ext/speex/gstspeexdec.h:
|
||||
* ext/speex/gstspeexenc.h:
|
||||
Fixes #158382. Make speex plugin compatible with both 1.0 and 1.1.
|
||||
Fix detection code in configure.ac
|
||||
|
||||
2004-12-23 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
||||
|
||||
* gst/matroska/matroska-demux.c:
|
||||
|
|
11
configure.ac
11
configure.ac
|
@ -1575,10 +1575,10 @@ GST_CHECK_FEATURE(SPEEX, [speex plug-in], speex, [
|
|||
AC_SUBST(SPEEX_CFLAGS)
|
||||
AC_SUBST(SPEEX_LIBS)
|
||||
], [
|
||||
GST_CHECK_LIBHEADER(SPEEX, speex, speex_bits_init, , speex.h, [
|
||||
AC_CHECK_HEADER(speex_jitter.h, [
|
||||
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.h, [
|
||||
GST_CHECK_LIBHEADER(SPEEX, speex, speex_encode_int, , speex/speex.h, [
|
||||
dnl speex 1.1.5 or + :
|
||||
HAVE_SPEEX="yes"
|
||||
SPEEX_LIBS="-lspeex"
|
||||
|
@ -1595,9 +1595,14 @@ GST_CHECK_FEATURE(SPEEX, [speex plug-in], speex, [
|
|||
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>
|
||||
])
|
||||
])
|
||||
])
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
#ifndef __GST_SPEEXDEC_H__
|
||||
#define __GST_SPEEXDEC_H__
|
||||
|
||||
|
||||
#include <gst/gst.h>
|
||||
#include <speex/speex.h>
|
||||
#include <speex/speex_callbacks.h>
|
||||
|
@ -32,7 +31,6 @@
|
|||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
|
||||
#define GST_TYPE_SPEEXDEC \
|
||||
(gst_speex_dec_get_type())
|
||||
#define GST_SPEEXDEC(obj) \
|
||||
|
@ -50,25 +48,30 @@ typedef struct _GstSpeexDecClass GstSpeexDecClass;
|
|||
#define DEC_MAX_FRAME_SIZE 2000
|
||||
|
||||
struct _GstSpeexDec {
|
||||
GstElement element;
|
||||
GstElement element;
|
||||
|
||||
/* pads */
|
||||
GstPad *sinkpad,*srcpad;
|
||||
GstPad *sinkpad,
|
||||
*srcpad;
|
||||
|
||||
void *state;
|
||||
SpeexStereoState stereo;
|
||||
const SpeexMode * mode;
|
||||
SpeexHeader *header;
|
||||
SpeexCallback callback;
|
||||
SpeexBits bits;
|
||||
void *state;
|
||||
SpeexStereoState stereo;
|
||||
#ifdef SPEEX_1_0
|
||||
SpeexMode *mode;
|
||||
#else
|
||||
const SpeexMode *mode;
|
||||
#endif
|
||||
SpeexHeader *header;
|
||||
SpeexCallback callback;
|
||||
SpeexBits bits;
|
||||
|
||||
gfloat output[DEC_MAX_FRAME_SIZE];
|
||||
gfloat output[DEC_MAX_FRAME_SIZE];
|
||||
|
||||
gboolean enh;
|
||||
gboolean enh;
|
||||
|
||||
gint frame_size;
|
||||
guint64 samples_out;
|
||||
guint64 packetno;
|
||||
gint frame_size;
|
||||
guint64 samples_out;
|
||||
guint64 packetno;
|
||||
};
|
||||
|
||||
struct _GstSpeexDecClass {
|
||||
|
|
|
@ -59,54 +59,58 @@ typedef struct _GstSpeexEnc GstSpeexEnc;
|
|||
typedef struct _GstSpeexEncClass GstSpeexEncClass;
|
||||
|
||||
struct _GstSpeexEnc {
|
||||
GstElement element;
|
||||
GstElement element;
|
||||
|
||||
/* pads */
|
||||
GstPad *sinkpad,
|
||||
*srcpad;
|
||||
GstPad *sinkpad,
|
||||
*srcpad;
|
||||
|
||||
gint packet_count;
|
||||
gint n_packets;
|
||||
gint packet_count;
|
||||
gint n_packets;
|
||||
|
||||
SpeexBits bits;
|
||||
SpeexHeader header;
|
||||
const SpeexMode *speex_mode;
|
||||
void *state;
|
||||
GstSpeexMode mode;
|
||||
GstAdapter *adapter;
|
||||
SpeexBits bits;
|
||||
SpeexHeader header;
|
||||
#if SPEEX_1_0
|
||||
SpeexMode *speex_mode;
|
||||
#else
|
||||
const SpeexMode *speex_mode;
|
||||
#endif
|
||||
void *state;
|
||||
GstSpeexMode mode;
|
||||
GstAdapter *adapter;
|
||||
|
||||
gfloat quality;
|
||||
gint bitrate;
|
||||
gboolean vbr;
|
||||
gint abr;
|
||||
gboolean vad;
|
||||
gboolean dtx;
|
||||
gint complexity;
|
||||
gint nframes;
|
||||
gfloat quality;
|
||||
gint bitrate;
|
||||
gboolean vbr;
|
||||
gint abr;
|
||||
gboolean vad;
|
||||
gboolean dtx;
|
||||
gint complexity;
|
||||
gint nframes;
|
||||
|
||||
gint lookahead;
|
||||
gint lookahead;
|
||||
|
||||
gint channels;
|
||||
gint rate;
|
||||
gint channels;
|
||||
gint rate;
|
||||
|
||||
gboolean setup;
|
||||
gboolean header_sent;
|
||||
gboolean eos;
|
||||
gboolean setup;
|
||||
gboolean header_sent;
|
||||
gboolean eos;
|
||||
|
||||
guint64 samples_in;
|
||||
guint64 bytes_out;
|
||||
guint64 samples_in;
|
||||
guint64 bytes_out;
|
||||
|
||||
GstTagList *tags;
|
||||
GstTagList *tags;
|
||||
|
||||
gchar *last_message;
|
||||
gchar *last_message;
|
||||
|
||||
gint frame_size;
|
||||
guint64 frameno;
|
||||
gint frame_size;
|
||||
guint64 frameno;
|
||||
|
||||
gchar *comments;
|
||||
gint comment_len;
|
||||
gchar *comments;
|
||||
gint comment_len;
|
||||
|
||||
gfloat input[MAX_FRAME_SIZE];
|
||||
gfloat input[MAX_FRAME_SIZE];
|
||||
};
|
||||
|
||||
struct _GstSpeexEncClass {
|
||||
|
|
Loading…
Reference in a new issue