gst: Update versioning
[platform/upstream/gst-plugins-good.git] / gst / wavparse / gstwavparse.h
index 2d14061..82838e4 100644 (file)
@@ -1,5 +1,6 @@
 /* GStreamer
  * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
+ * Copyright (C) <2006> Nokia Corporation, Stefan Kost <stefan.kost@nokia.com>.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -25,6 +26,7 @@
 #include <gst/gst.h>
 #include "gst/riff/riff-ids.h"
 #include "gst/riff/riff-read.h"
+#include <gst/base/gstadapter.h>
 
 G_BEGIN_DECLS
 
@@ -42,7 +44,7 @@ G_BEGIN_DECLS
 typedef enum {
   GST_WAVPARSE_START,
   GST_WAVPARSE_HEADER,
-  GST_WAVPARSE_DATA,
+  GST_WAVPARSE_DATA
 } GstWavParseState;
 
 typedef struct _GstWavParse GstWavParse;
@@ -64,23 +66,30 @@ struct _GstWavParse {
    * the format for sure */
   GstCaps     *caps;
   GstTagList  *tags;
-  GstEvent    *newsegment;
+  GstEvent    *start_segment;
 
   /* WAVE decoding state */
   GstWavParseState state;
+  gboolean abort_buffering;
 
   /* format of audio, see defines below */
   gint format;
 
   /* useful audio data */
   guint16 depth;
-  gint rate;
+  guint32 rate;
   guint16 channels;
   guint16 blockalign;
   guint16 width;
+  guint32 av_bps;
+  guint32 fact;
+
+  /* real bps used or 0 when no bitrate is known */
   guint32 bps;
+  gboolean vbr;
 
   guint bytes_per_sample;
+  guint max_buf_size;
 
   /* position in data part */
   guint64      offset;
@@ -89,13 +98,26 @@ struct _GstWavParse {
   /* offset/length of data part */
   guint64      datastart;
   guint64      datasize;
-  
+  /* duration in time */
+  guint64      duration;
+
   /* pending seek */
   GstEvent *seek_event;
 
-  /* configured segment, start/stop expressed in time */
+  /* For streaming */
+  GstAdapter *adapter;
+  gboolean got_fmt;
+  gboolean streaming;
+
+  /* configured segment, start/stop expressed in time or bytes */
   GstSegment segment;
-  gboolean segment_running;
+
+  /* for late pad configuration */
+  gboolean first;
+  /* discont after seek */
+  gboolean discont;
+
+  gboolean ignore_length;
 };
 
 struct _GstWavParseClass {