vorbisdec: port to audiodecoder

This commit is contained in:
Mark Nauwelaerts 2011-10-07 14:52:33 +02:00
parent 37c629fcc6
commit f63f09483f
3 changed files with 131 additions and 795 deletions

View file

@ -28,7 +28,8 @@ plugin_LTLIBRARIES += libgstivorbisdec.la
libgstivorbisdec_la_SOURCES = gstivorbisdec.c \
gstvorbisdec.c gstvorbisdeclib.c gstvorbiscommon.c
libgstivorbisdec_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
libgstivorbisdec_la_CFLAGS = -DGST_USE_UNSTABLE_API \
$(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS) \
-DTREMOR $(IVORBIS_CFLAGS)
libgstivorbisdec_la_LIBADD = \
$(top_builddir)/gst-libs/gst/tag/libgsttag-@GST_MAJORMINOR@.la \

File diff suppressed because it is too large Load diff

View file

@ -27,6 +27,7 @@
#endif
#include <gst/gst.h>
#include <gst/audio/gstaudiodecoder.h>
#include "gstvorbisdeclib.h"
G_BEGIN_DECLS
@ -51,15 +52,11 @@ typedef struct _GstVorbisDecClass GstVorbisDecClass;
* Opaque data structure.
*/
struct _GstVorbisDec {
GstElement element;
GstPad *sinkpad;
GstPad *srcpad;
GstAudioDecoder element;
vorbis_dsp_state vd;
vorbis_info vi;
vorbis_comment vc;
#ifndef USE_TREMOLO
vorbis_block vb;
#endif
@ -67,26 +64,13 @@ struct _GstVorbisDec {
gboolean initialized;
guint width;
/* list of buffers that need timestamps */
GList *queued;
/* gather/decode queues for reverse playback */
GList *gather;
GList *decode;
GstSegment segment;
gboolean discont;
guint32 seqnum;
GstClockTime last_timestamp;
GList *pendingevents;
GstTagList *taglist;
CopySampleFunc copy_samples;
};
struct _GstVorbisDecClass {
GstElementClass parent_class;
GstAudioDecoderClass parent_class;
};
GType gst_vorbis_dec_get_type(void);