[Matroska-devel] Tagging MKV files

Moritz Bunkus moritz at bunkus.org
Sat Sep 1 22:36:45 CEST 2012


On Sat, Sep 1, 2012 at 10:25 PM, Dan Hinsley <danhi at cox.net> wrote:

> Now this file still plays, but when I run mkvalidator it tells me:

Completely ignore mkvalidator in this case. It is buggy, doesn't take
several situations into account that are perfectly valid (when you
look at the Matroska specs at
http://www.matroska.org/technical/specs/index.html then you'll see
that SeekHeads are marked as "multiple", meaning it's more than valid
to have more than one SeekHead inside a segment) etc etc. This
situation is one of those that it doesn't account for. The first
"warning" means that it doesn't parse the secondary seek head. All the
other warnings are subsequent faults, of course, because those
elements ARE referenced.

Also: those things are WARNINGS. I've long argued with Steve Lhomme,
author of mkvalidator, that even printing a warning for such issues is
often mistaken by users to mean that a file is not valid. That is NOT
the case! A warning issued by mkvalidator solely means that the file
is not 100% over-the-top optimized. E.g. for playback situations in
which no seeking is possible (in such cases the secondary seek head
would not be parsable by a player). However, guess how often such a
situation occurs nowadays... Again: ignore them.

An error issued by mkvalidator is another thing, but you've only shown warnings.

> So it seems that having one SeekHead point to another isn't really valid?

It is perfectly valid.

> My overall ambition in this is to be able to tag an MKV file without having
> to rewrite the entire file (not to mention recalculate every offset along
> the way).

That's what mkvpropedit does as well with all of its actions.

Kind regards,

More information about the Matroska-devel mailing list