summaryrefslogtreecommitdiffstats
path: root/gst/avi/gstavidemux.h
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@gmail.com>2003-01-20 20:49:34 +0000
committerWim Taymans <wim.taymans@gmail.com>2003-01-20 20:49:34 +0000
commitb720115fcacc96077b7d93023532b1f199bedbf0 (patch)
treecc67a6c38ea7c152c12b2616fb1c49acbbd6d8d3 /gst/avi/gstavidemux.h
parent10943b8749a16ffae491c66bcc23d7ea7b2168d4 (diff)
- new avi demuxer doesn't use a recursive infinite loop anymore
Original commit message from CVS: - new avi demuxer doesn't use a recursive infinite loop anymore - removed temporary riff.[ch] files - removed aviparse from build
Diffstat (limited to 'gst/avi/gstavidemux.h')
-rw-r--r--gst/avi/gstavidemux.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/gst/avi/gstavidemux.h b/gst/avi/gstavidemux.h
index 3c32cd07..ed41c7cf 100644
--- a/gst/avi/gstavidemux.h
+++ b/gst/avi/gstavidemux.h
@@ -24,8 +24,8 @@
#include <config.h>
#include <gst/gst.h>
-#include <gst/riff/riff.h>
#include <gst/bytestream/bytestream.h>
+#include <gst/riff/riff.h>
#ifdef __cplusplus
extern "C" {
@@ -73,7 +73,6 @@ typedef struct
guint32 current_byte;
guint64 delay;
gboolean need_flush;
- guint32 av_bps;
guint64 end_pos;
guint64 total_bytes;
@@ -83,6 +82,13 @@ typedef struct
} avi_stream_context;
+typedef enum
+{
+ GST_AVI_DEMUX_START,
+ GST_AVI_DEMUX_HEADER,
+ GST_AVI_DEMUX_MOVI,
+} GstAviDemuxState;
+
struct _GstAviDemux {
GstElement element;
@@ -91,8 +97,9 @@ struct _GstAviDemux {
/* AVI decoding state */
guint32 fcc_type;
+ GstAviDemuxState state;
- GstByteStream *bs;
+ GstByteStream *bs;
gst_avi_index_entry *index_entries;
gulong index_size;
@@ -109,7 +116,6 @@ struct _GstAviDemux {
gboolean seek_pending;
gint64 seek_offset;
guint64 last_seek;
- gboolean restart;
};
struct _GstAviDemuxClass {