[Matroska-devel] File with no SeekHead
danhi at cox.net
Sat Sep 15 01:19:50 CEST 2012
The EblmVoid is there because it was a SeekHead and I turned it into a void
for testing. So you're saying a SeekHead is required before the Clusters,
so I can count on that and reject a file that doesn't have one as invalid?
That still doesn't answer the question as to what the Seek Position should
be relative to. The spec says the first Level 1 element, your other email
said relative to the data portion of the Segment. I realize that most of
the time these will be the same, but what is the correct behavior.
From: matroska-devel-bounces at lists.matroska.org
[mailto:matroska-devel-bounces at lists.matroska.org] On Behalf Of Moritz
Sent: Friday, September 14, 2012 2:36 PM
To: Discussion about the current and future development of Matroska
Subject: Re: [Matroska-devel] File with no SeekHead
you have to place at least one seek head before the first clusters.
Players usually only scan a file sequentially up to the first cluster
and evaluate all SeekHeads found until then (a player should do this
recursively, meaning if it finds a SeekHead before the first cluster
then it should also evaluate the SeekHeads pointed to in that first
That EbmlVoid element contains enough space for a SeekHead pointing to
the SeekHead at the end of the file, for example. If that EbmlVoid
wasn't there then you could also relocate the whole SegmentTracks
element to the end of the file and use the resulting space for your
first SeekHead. Just make sure to make that SeekHead point to the
relocated SegmentTracks element if you do that.
In your case you only have a SeekHead at the end of the file.
Therefore most players will not find the tags, attachments and
chapters. They're also not required to scan the end of the file for
Matroska-devel mailing list
Matroska-devel at lists.matroska.org
Read Matroska-Devel on GMane:
More information about the Matroska-devel