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
make TagXXXUID elements with a default value mandatory #569
Conversation
0 = the tags apply to all XXX in the Segment
The TagXXXUID needs a bit of rework. It may not be possible depending on existing implementations.
| <documentation lang="en" purpose="definition">A unique ID to identify the EditionEntry(s) the tags belong to.</documentation> | ||
| <documentation lang="en" purpose="usage notes">If the value is 0 at this level, the tags apply to all editions in the Segment. | ||
| If set to any other value, it **MUST** match the `EditionUID` value of an edition found in this Segment.</documentation> | ||
| </element> | ||
| <element name="TagChapterUID" path="\Segment\Tags\Tag\Targets\TagChapterUID" id="0x63C4" type="uinteger" default="0"> | ||
| <element name="TagChapterUID" path="\Segment\Tags\Tag\Targets\TagChapterUID" id="0x63C4" type="uinteger" default="0" minOccurs="1"> | ||
| <documentation lang="en" purpose="definition">A unique ID to identify the Chapter(s) the tags belong to.</documentation> | ||
| <documentation lang="en" purpose="usage notes">If the value is 0 at this level, the tags apply to all chapters in the Segment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the Tag\Targets has a TagEditionUID and TagChapterUID is 0, it applies to all chapters of that edition, not segment.
| <documentation lang="en" purpose="definition">A unique ID to identify the Chapter(s) the tags belong to.</documentation> | ||
| <documentation lang="en" purpose="usage notes">If the value is 0 at this level, the tags apply to all chapters in the Segment. | ||
| If set to any other value, it **MUST** match the `ChapterUID` value of a chapter found in this Segment.</documentation> | ||
| </element> | ||
| <element name="TagAttachmentUID" path="\Segment\Tags\Tag\Targets\TagAttachmentUID" id="0x63C6" type="uinteger" default="0"> | ||
| <element name="TagAttachmentUID" path="\Segment\Tags\Tag\Targets\TagAttachmentUID" id="0x63C6" type="uinteger" default="0" minOccurs="1"> | ||
| <documentation lang="en" purpose="definition">A unique ID to identify the Attachment(s) the tags belong to.</documentation> | ||
| <documentation lang="en" purpose="usage notes">If the value is 0 at this level, the tags apply to all the attachments in the Segment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A tag about a movie should not apply to an attachment as well. I think the default value of 0 should not be used for attachments. Tags about an attachment should specifically target that attachment.
But then such a tag doesn't apply to "all track" and "all chapters" of the segment. So TagAttachmentUID and the other TagXXXUID should be exclusive.
|
This is just wrong. The idea was to have all elements with a default be mandatory because of the Empty Elements issues of libebml (#500). But it's only an issue when the default value is not 0. This is what is clarified in (#501). We don't need to force a mandatory flag for elements with a default value of 0. And these elements are really not meant to be there no matter what. |
0 = the tags apply to all XXX in the Segment
Unlike #557 some of these elements may have a different meaning when empty.