summaryrefslogtreecommitdiff
path: root/gst/matroska/matroska-parse.h
diff options
context:
space:
mode:
Diffstat (limited to 'gst/matroska/matroska-parse.h')
-rw-r--r--gst/matroska/matroska-parse.h46
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;