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

Index table must be complete before repeating #30

Closed
philipnbbc opened this issue Aug 30, 2023 · 1 comment · Fixed by #31
Closed

Index table must be complete before repeating #30

philipnbbc opened this issue Aug 30, 2023 · 1 comment · Fixed by #31
Assignees

Comments

@philipnbbc
Copy link
Collaborator

philipnbbc commented Aug 30, 2023

SMPTE ST 377-1:2019, section 11.2.1 (Index Table Segments), item 6 states "If repetition of the Index Table is required, then the previous Index Table shall be completed before the repetition starts. A repetition of an Index Table shall commence in a new Partition.".

If the bmx OP1a writer is configured to combine essence and index segments in body partitions (OP1A_BODY_PARTITIONS_FLAVOUR define and --body-part commandline option) will write any remaining index table segments to the footer partition. That should be changed to always write remaining segments to a body partition (with no essence). Any index table repetition will then occur after the index table has been completed.

Check that the default flavour that uses separate partitions for index table segments does the right thing.

Note: SMPTE RDD 9:2013 follows 377-1:2004 as explained in section 8.2.1.1: "Note: The last Index Table Segment (e.g., #2 shown in Figure 8) is not repeated but is placed in the Complete Index Table in the Footer. This mechanism conflicts with rule 6 of Section 11.2.1 'Index Table Segments' in SMPTE ST 377-1. In order to maintain compatibility with legacy products, RDD 9 inherits the mechanism used in its initial implementation in conformance with SMPTE ST 377:2004 which does not include the aforementioned rule."

@philipnbbc philipnbbc self-assigned this Aug 30, 2023
@philipnbbc
Copy link
Collaborator Author

Edited description above to always write the final index table segment, and not only when the index table is repeated. This brings it closer to the separate partitions for header, index, and essence approach where the footer won't contain the final index table segment if the index is not repeated.

philipnbbc added a commit that referenced this issue Sep 1, 2023
Always write a separate body partition if there are index table segments
remaining when using the --body-part option / OP1A_BODY_PARTITIONS_FLAVOUR

Fixes #30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant