RDD9 partition segmentation and index size not compliant with RDD 9:2013
The calculation at RDD9File.cpp:112
mPartitionInterval = 10 * frame_rate.numerator / frame_rate.denominator;
does not comply with RDD 9:2013, which says (Annex B, B.6 Table B.2) the partition length should be exactly 10.01s or 9.6s depending on the frame rate (23.98p/25p/50i: 240 frames, 29.97p/59.94i: 300 frames, 50p: 480 frames, 59.94p: 600 frames).
And the test at RDD9File.cpp:769,
mPartitionFrameCount + MAX_GOP_SIZE >= mPartitionInterval
means the partitions are all 15 frames shorter than expected.
Under RDD 9-2009, these would both be compliant, since it specifies “up to approximately 10 seconds” (Table 1) and “up to 10 seconds” (8.2).
Thanks for the report. I've created https://github.com/bbc/bmx/pull/12 which should ensure that the values match the "Constraints of the Conformant Implementation" appendix of the spec.