diff options
Diffstat (limited to 'gst/avi/gstavidemux.h')
-rw-r--r-- | gst/avi/gstavidemux.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/gst/avi/gstavidemux.h b/gst/avi/gstavidemux.h index bc14183f..25a4e162 100644 --- a/gst/avi/gstavidemux.h +++ b/gst/avi/gstavidemux.h @@ -1,5 +1,6 @@ /* GStreamer * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu> + * Copyright (C) <2006> Nokia Corporation (contact <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 "avi-ids.h" #include "gst/riff/riff-ids.h" #include "gst/riff/riff-read.h" +#include <gst/base/gstadapter.h> G_BEGIN_DECLS @@ -102,6 +104,15 @@ typedef enum { GST_AVI_DEMUX_MOVI, } GstAviDemuxState; +typedef enum { + GST_AVI_DEMUX_HEADER_TAG_LIST, + GST_AVI_DEMUX_HEADER_AVIH, + GST_AVI_DEMUX_HEADER_ELEMENTS, + GST_AVI_DEMUX_HEADER_INFO, + GST_AVI_DEMUX_HEADER_JUNK, + GST_AVI_DEMUX_HEADER_DATA +} GstAviDemuxHeaderState; + typedef struct _GstAviDemux { GstElement parent; @@ -110,6 +121,7 @@ typedef struct _GstAviDemux { /* AVI decoding state */ GstAviDemuxState state; + GstAviDemuxHeaderState header_state; guint64 offset; /* index */ @@ -122,15 +134,20 @@ typedef struct _GstAviDemux { guint num_streams; guint num_v_streams; guint num_a_streams; + avi_stream_context stream[GST_AVI_DEMUX_MAX_STREAMS]; + /* for streaming mode */ + gboolean streaming; + gboolean have_eos; + GstAdapter *adapter; + /* some stream info for length */ gst_riff_avih *avih; /* segment in TIME */ GstSegment segment; gboolean segment_running; - gboolean streaming; /* pending tags/events */ GstEvent *seek_event; |