[Matroska-devel] Hi, question about the MKV tags

Steve Lhomme slhomme at matroska.org
Sat Feb 12 11:46:50 CET 2011

On Sat, Feb 12, 2011 at 10:56 AM, Moritz Bunkus <moritz at bunkus.org> wrote:
> Hey,
> On Sat, 12 Feb 2011 10:22:22 +0100, Steve Lhomme wrote:
>> mkclean puts the Void inside the SeekHead element. In the end the
>> result is almost the same.
> Not really. The code in mmg/mkvpropedit that can place chapters, tags or
> whatever level 1 element in existing files only looks for void elements at
> the first level -- meaning if they're children of the segment. It does not
> consider void elements inside level 1 elements e.g. in seekheads. It will
> also not remove voids in a seekhead or reduce its sizes.
> Putting the void into the seekhead certainly allows for storing more
> seekentries in the seekhead with the proper code. However, it makes such
> code a lot more complex than it already is. If you don't know how complex
> all the situations can get then I suggest you take a look at
> http://www.bunkus.org/cgi-bin/gitweb.cgi?p=mkvtoolnix.git;a=blob;f=src/common/kax_analyzer.cpp;h=e76bea635280f962e0651f25860562777827f2e4;hb=HEAD
> That file is actually documented properly and therefore worth a read if one
> is implementing something similar, and if we're discussing where to put void
> elements.

I added a second remark about padding.
This one at Level 1. I think the one in SeekHead to alter the content
of SeekHead is good as well. Of course it's a waste when there's Level
1 padding just after. In the end it's up to the muxer to use, one, the
other or both padding. I will modify mkclean to put some padding at
both levels.


Steve Lhomme
Matroska association Chairman

More information about the Matroska-devel mailing list