summaryrefslogtreecommitdiffstats
path: root/gst/matroska/matroska-demux.h
diff options
context:
space:
mode:
authorSebastian Dröge <slomo@circular-chaos.org>2008-06-13 19:07:03 +0000
committerSebastian Dröge <slomo@circular-chaos.org>2008-06-13 19:07:03 +0000
commit04d1c49ef7c6fe497c4b1d9d67590952e0d1266a (patch)
tree0b4db2215cd8d55d263eaa21e886e1fe840760e5 /gst/matroska/matroska-demux.h
parent764f5106a5c6fddbaeca142bc68441ca234295fb (diff)
gst/matroska/matroska-demux.*: Only parse Tracks, SeekHead and SegmentInfo elements once but allow
Original commit message from CVS: * gst/matroska/matroska-demux.c: (gst_matroska_demux_reset), (gst_matroska_demux_parse_tracks), (gst_matroska_demux_parse_index), (gst_matroska_demux_parse_info), (gst_matroska_demux_parse_attachments), (gst_matroska_demux_parse_chapters), (gst_matroska_demux_parse_contents_seekentry), (gst_matroska_demux_loop_stream_parse_id): * gst/matroska/matroska-demux.h: Only parse Tracks, SeekHead and SegmentInfo elements once but allow Tags multiple times. The first ones can appear more than once but must contain the same content as the first for backup purposes so we ignore all but the first one. Tags can appear multiple times with different content. Jump to all elements except Clusters that are available from a SeekHead to make it more likely to have all required informations before getting to the first Clusters. Add dummy functions for parsing Attachments and Chapters.
Diffstat (limited to 'gst/matroska/matroska-demux.h')
-rw-r--r--gst/matroska/matroska-demux.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/gst/matroska/matroska-demux.h b/gst/matroska/matroska-demux.h
index 9da56603..413cdc8a 100644
--- a/gst/matroska/matroska-demux.h
+++ b/gst/matroska/matroska-demux.h
@@ -77,9 +77,10 @@ typedef struct _GstMatroskaDemux {
GstMatroskaDemuxState state;
guint level_up;
- /* did we parse metadata/cues already? */
- gboolean metadata_parsed;
+ /* did we parse cues/tracks/segmentinfo already? */
gboolean index_parsed;
+ gboolean tracks_parsed;
+ gboolean segmentinfo_parsed;
/* start-of-segment */
guint64 ebml_segment_start;