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

make TagXXXUID elements with a default value mandatory #569

Closed
wants to merge 1 commit into from

Conversation

robUx4
Copy link
Contributor

@robUx4 robUx4 commented Oct 26, 2021

0 = the tags apply to all XXX in the Segment

Unlike #557 some of these elements may have a different meaning when empty.

0 = the tags apply to all XXX in the Segment
Copy link
Contributor Author

@robUx4 robUx4 left a comment

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.
Copy link
Contributor Author

@robUx4 robUx4 Oct 26, 2021

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.
Copy link
Contributor Author

@robUx4 robUx4 Oct 26, 2021

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.

@robUx4
Copy link
Contributor Author

@robUx4 robUx4 commented Feb 13, 2022

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.

@robUx4 robUx4 closed this Feb 13, 2022
@robUx4 robUx4 deleted the tagxxxuid-mandatory branch Feb 13, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement format addition spec_main
Projects
Development

Successfully merging this pull request may close these issues.

None yet

1 participant