OK, so I thought of a way to test Sub Chapters using a different program, MKVMerge. I created two MKV files with a single top chapter and moved all the current chapters into it as subchapters, then I used MKVMerge to append to two files into a single file. MKVMerge modified all the chapter timecodes, including the subchapters, to stay relative to their current position in the file, meaning VLC was no longer showing the chapter markers in the correct positions.
I pointed this out to Mosu and he finally gave a reply other than "I don't know":
Hey,
> If I use MMG to add subchapters to an mkv, VLC assumes the subchapter
> timecodes are relative to the start of the parent chapters.
Unfortunately the specs ([1] and [2]) aren't too specific about this, but as long as they don't say that something is relative to something else you have to assume that the first something is absolute. Take the definition of »Block« from [1], for example:
> Block containing the actual data to be rendered and a timestamp
> relative to the Cluster Timecode.
This is clear, and the absence of »relative to…« in the definition of ChapterTimeStart and ChapterTimeEnd means that those timestamps are indeed not relative.
> Should I bother reporting this as a bug in VLC, is this a bug in
> MKVMerge or should I just write this off as another bit of the The
> Matroska specs no one gives a damn about?
VLC is wrong in this regard. So yes, filing a bug report would be the best thing to do. You can include my reply in the report, if you want.
Kind regards,
mosu
[1]
http://www.matroska.org/technical/specs/index.html
[2]
http://www.matroska.org/technical/specs ... index.html
So... do I need to file a bug report or has this already been taken care of in a pre? Maybe you have prior information that contradicts this...
(if you think about it, Matroska chapters can be layered several times, if using the Tags as an example, the most logical use of sub chapters (although according to the examples, not actually necessary) would be to create one layer each for Series, Season, Episode, Part, Chapter, Scene and Shot. If the timecodes were to reset to zero each time a new level was created, looking at a list of chapters in raw form would be mind numbing. Plus it would make it incredibly fiddly to actually write them in in the first place.)