summaryrefslogtreecommitdiffstats
path: root/gst/wavparse/gstwavparse.h
diff options
context:
space:
mode:
authorIain Holmes <iain@prettypeople.org>2003-10-29 23:50:00 +0000
committerIain Holmes <iain@prettypeople.org>2003-10-29 23:50:00 +0000
commit441894e1ef1bd6acca21ec556e1541deafd2d9ae (patch)
treea968fb3ad1488a6f244e67452d7392725de6e688 /gst/wavparse/gstwavparse.h
parentd16f5e38dfe6aacdef8e7837f7f1789cffe0134e (diff)
Add a local copy of riff.h as we don't use rifflib anymore.
Original commit message from CVS: Add a local copy of riff.h as we don't use rifflib anymore. Rewrite the main loop to use bytestreams instead of rifflib. Make it a loopbased filter. Handle metadata, cues and labels as well
Diffstat (limited to 'gst/wavparse/gstwavparse.h')
-rw-r--r--gst/wavparse/gstwavparse.h29
1 files changed, 12 insertions, 17 deletions
diff --git a/gst/wavparse/gstwavparse.h b/gst/wavparse/gstwavparse.h
index 5b3e3e15..22c2f470 100644
--- a/gst/wavparse/gstwavparse.h
+++ b/gst/wavparse/gstwavparse.h
@@ -24,8 +24,8 @@
#include <config.h>
#include <gst/gst.h>
-#include <gst/riff/riff.h>
-
+#include <riff.h>
+#include <gst/gstbytestream.h>
#ifdef __cplusplus
extern "C" {
@@ -45,10 +45,9 @@ extern "C" {
#define GST_WAVPARSE_UNKNOWN 0 /* initialized state */
-#define GST_WAVPARSE_CHUNK_FMT 1 /* searching for fmt */
-#define GST_WAVPARSE_CHUNK_DATA 2 /* searching for data */
-#define GST_WAVPARSE_DATA 3 /* in data region */
-#define GST_WAVPARSE_OTHER 4 /* in unknown region */
+#define GST_WAVPARSE_START 1 /* At the start */
+#define GST_WAVPARSE_DATA 2 /* in data region */
+#define GST_WAVPARSE_OTHER 3 /* in unknown region */
typedef struct _GstWavParse GstWavParse;
typedef struct _GstWavParseClass GstWavParseClass;
@@ -56,19 +55,13 @@ typedef struct _GstWavParseClass GstWavParseClass;
struct _GstWavParse {
GstElement element;
+ GstByteStream *bs;
/* pads */
GstPad *sinkpad,*srcpad;
/* WAVE decoding state */
gint state;
- /* RIFF decoding state */
- GstRiff *riff;
- gulong riff_nextlikely;
-
- /* expected length of audio */
- gulong size;
-
/* format of audio, see defines below */
gint format;
@@ -78,10 +71,12 @@ struct _GstWavParse {
gint channels;
gint width;
- gint64 offset;
- gint64 datastart;
- gboolean need_discont;
-
+ int dataleft;
+ int byteoffset;
+
+ gboolean seek_pending;
+ guint64 seek_offset;
+
GstBuffer *buf;
GstCaps *metadata;