diff options
Diffstat (limited to 'gst/matroska/matroska-parse.h')
-rw-r--r-- | gst/matroska/matroska-parse.h | 46 |
1 files changed, 3 insertions, 43 deletions
diff --git a/gst/matroska/matroska-parse.h b/gst/matroska/matroska-parse.h index 595ead2..a447e77 100644 --- a/gst/matroska/matroska-parse.h +++ b/gst/matroska/matroska-parse.h @@ -1,5 +1,6 @@ /* GStreamer Matroska muxer/demuxer * (c) 2003 Ronald Bultje <rbultje@ronald.bitfreak.net> + * (c) 2011 Debarshi Ray <rishi@gnu.org> * * matroska-parse.h: matroska file/stream parseer definition * @@ -23,10 +24,10 @@ #define __GST_MATROSKA_PARSE_H__ #include <gst/gst.h> -#include <gst/base/gstadapter.h> #include "ebml-read.h" #include "matroska-ids.h" +#include "matroska-read-common.h" G_BEGIN_DECLS @@ -41,29 +42,16 @@ G_BEGIN_DECLS #define GST_IS_MATROSKA_PARSE_CLASS(klass) \ (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_MATROSKA_PARSE)) -typedef enum { - GST_MATROSKA_PARSE_STATE_START, - GST_MATROSKA_PARSE_STATE_SEGMENT, - GST_MATROSKA_PARSE_STATE_HEADER, - GST_MATROSKA_PARSE_STATE_DATA, - GST_MATROSKA_PARSE_STATE_SEEK, - GST_MATROSKA_PARSE_STATE_SCANNING -} GstMatroskaParseState; - typedef struct _GstMatroskaParse { GstElement parent; /* < private > */ - GstIndex *element_index; - gint element_index_writer_id; + GstMatroskaReadCommon common; /* pads */ - GstPad *sinkpad; GstPad *srcpad; - GPtrArray *src; GstClock *clock; - guint num_streams; guint num_v_streams; guint num_a_streams; guint num_t_streams; @@ -72,57 +60,29 @@ typedef struct _GstMatroskaParse { gboolean pushed_headers; GstClockTime last_timestamp; - /* metadata */ - gchar *muxing_app; - gchar *writing_app; - gint64 created; - /* state */ //gboolean streaming; - GstMatroskaParseState state; guint level_up; guint64 seek_block; gboolean seek_first; /* did we parse cues/tracks/segmentinfo already? */ - gboolean index_parsed; gboolean tracks_parsed; - gboolean segmentinfo_parsed; - gboolean attachments_parsed; - GList *tags_parsed; GList *seek_parsed; - /* start-of-segment */ - guint64 ebml_segment_start; - - /* a cue (index) table */ - GArray *index; - - /* timescale in the file */ - guint64 time_scale; - /* keeping track of playback position */ - GstSegment segment; gboolean segment_running; GstClockTime last_stop_end; GstEvent *close_segment; GstEvent *new_segment; - GstTagList *global_tags; - - /* pull mode caching */ - GstBuffer *cached_buffer; - /* push and pull mode */ - guint64 offset; /* some state saving */ GstClockTime cluster_time; guint64 cluster_offset; guint64 first_cluster_offset; guint64 next_cluster_offset; - /* push based mode usual suspects */ - GstAdapter *adapter; /* index stuff */ gboolean seekable; gboolean building_index; |