Merge branch 'master' into 0.11
[platform/upstream/gstreamer.git] / ext / vorbis / gstvorbisdec.h
index 87cabda..721b666 100644 (file)
 #ifndef __GST_VORBIS_DEC_H__
 #define __GST_VORBIS_DEC_H__
 
 #ifndef __GST_VORBIS_DEC_H__
 #define __GST_VORBIS_DEC_H__
 
+#ifdef HAVE_CONFIG_H
+#  include "config.h"
+#endif
 
 #include <gst/gst.h>
 
 #include <gst/gst.h>
-#include <vorbis/codec.h>
+#include <gst/audio/gstaudiodecoder.h>
+#include "gstvorbisdeclib.h"
 
 G_BEGIN_DECLS
 
 
 G_BEGIN_DECLS
 
@@ -48,40 +52,25 @@ typedef struct _GstVorbisDecClass GstVorbisDecClass;
  * Opaque data structure.
  */
 struct _GstVorbisDec {
  * Opaque data structure.
  */
 struct _GstVorbisDec {
-  GstElement        element;
-
-  GstPad           *sinkpad;
-  GstPad           *srcpad;
+  GstAudioDecoder element;
 
   vorbis_dsp_state  vd;
   vorbis_info       vi;
   vorbis_comment    vc;
 
   vorbis_dsp_state  vd;
   vorbis_info       vi;
   vorbis_comment    vc;
+#ifndef USE_TREMOLO
   vorbis_block      vb;
   vorbis_block      vb;
-  guint64           granulepos;
+#endif
 
   gboolean          initialized;
 
   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;
   GstTagList       *taglist;
+
+  CopySampleFunc    copy_samples;
 };
 
 struct _GstVorbisDecClass {
 };
 
 struct _GstVorbisDecClass {
-  GstElementClass parent_class;
+  GstAudioDecoderClass parent_class;
 };
 
 GType gst_vorbis_dec_get_type(void);
 };
 
 GType gst_vorbis_dec_get_type(void);