diff options
author | Sebastian Dröge <slomo@circular-chaos.org> | 2008-06-13 19:07:03 +0000 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2008-06-13 19:07:03 +0000 |
commit | 04d1c49ef7c6fe497c4b1d9d67590952e0d1266a (patch) | |
tree | 0b4db2215cd8d55d263eaa21e886e1fe840760e5 /gst/matroska/matroska-demux.h | |
parent | 764f5106a5c6fddbaeca142bc68441ca234295fb (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.h | 5 |
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; |