#ifndef __GST_VORBIS_DEC_H__
#define __GST_VORBIS_DEC_H__
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
#include <gst/gst.h>
-#include <vorbis/codec.h>
+#include <gst/audio/gstaudiodecoder.h>
+#include "gstvorbisdeclib.h"
G_BEGIN_DECLS
* 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;
- guint64 granulepos;
+#endif
gboolean initialized;
+ GstAudioInfo info;
- /* list of buffers that need timestamps */
- GList *queued;
- /* list of raw output buffers */
- GList *output;
- /* gather/decode queues for reverse playback */
- GList *gather;
- GList *decode;
-
- GstSegment segment;
- gboolean discont;
- guint32 seqnum;
-
- GstClockTime cur_timestamp; /* only used with non-ogg container formats */
- GstClockTime prev_timestamp; /* only used with non-ogg container formats */
-
- GList *pendingevents;
GstTagList *taglist;
+
+ CopySampleFunc copy_samples;
};
struct _GstVorbisDecClass {
- GstElementClass parent_class;
+ GstAudioDecoderClass parent_class;
};
GType gst_vorbis_dec_get_type(void);