Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chapters Flags: wrong description #238

Closed
hubblec4 opened this issue Jun 29, 2018 · 1 comment
Closed

Chapters Flags: wrong description #238

hubblec4 opened this issue Jun 29, 2018 · 1 comment
Labels
clarifications spec_main Main Matroska spec document target

Comments

@hubblec4
Copy link
Contributor

Chapter Flags

Two Chapter Flags are defined to describe the behavior of the ChapterAtom Element: ChapterFlagHidden and ChapterFlagEnabled.

If a ChapterAtom Element is the Child Element of another ChapterAtom Element with a Chapter Flag set to true, then the Child ChapterAtom Element MUST be interpreted as having its same Chapter Flag set to true. If a ChapterAtom Element is the Child Element of another ChapterAtom Element with a Chapter Flag set to false or if the ChapterAtom Element does not have a ChapterAtom Element as its Parent Element, then it MUST be interpreted according to its own Chapter Flag.

In this description you use the word Chapter Flag and you used it for both flags, the hidden-Flag and the Enabled Flag.
Now follows the define which handles both Flags identical.... this is wrong!

As an example, consider a Parent ChapterAtom Element that has its ChapterFlagHidden set to true and also contains two child ChapterAtoms, the first with ChapterFlagHidden set to true and the second with ChapterFlagHidden either set to false or not present at all (in which case the default value of the Element applies, which is false). Since the parent ChapterAtom has its ChapterFlagHidden set to true then all of its children ChapterAtoms MUST also be interpreted as if their ChapterFlagHidden is also set to true. However, if a Control Track toggles the parent's ChapterFlagHidden flag to false, then only the parent ChapterAtom and its second child ChapterAtom MUST be interpreted as if ChapterFlagHidden is set to false. The first child ChapterAtom which has the ChapterFlagHidden flag set to true retains its value until its value is toggled to false by a Control Track.

A chapter with ChapterFlagHidden set to true is not visible, but all his nested chapters (with HiddenFlag set to false) are always visible.
Only a disabled Chapter all his child chapters are also disabled.

S03E00-Hauptmenu.zip

This short Menu-mkv shows it exactly in VLC and mpc-hc.
The top-level chapters are hidden and the nested chapters are not hidden.

I asked Hendrik from LAV what is the right usage, he answered: Haali-Splitter is for him the specs and in Haali also the nested chapters not hidden if their own HiddenFlag is set to false.

Without this behaviour it is not possible to build such simple menu-structures.

@hubblec4 hubblec4 changed the title Chapters Flags Chapters Flags: wrong description Jun 29, 2018
@robUx4 robUx4 added the spec_main Main Matroska spec document target label Dec 18, 2018
@robUx4
Copy link
Contributor

robUx4 commented Apr 4, 2021

The chapter flag section has been rewritten and some elements are going away in #461.

@robUx4 robUx4 closed this as completed Apr 4, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clarifications spec_main Main Matroska spec document target
Projects
Development

No branches or pull requests

2 participants