I will start this by saying I have read Issue #153 - I am bringing it up anyway as I see a contradiction in the specification with respect to the descriptions of core:offset and core:sample_start.
The contradiction I see is this:
core:offset occurs when there are multiple files in a continuous stream, and indicates this dataset picks up from where another one ended.
- "All other indices referenced in metadata for this recording SHOULD be greater than or equal to this value." (ie.
core:offset).
core:sample_start, stored in both captures and annotations, are "other indices referenced in the metadata" and so should be an absolute index based on the entire data stream, and not necessarily map to a physical index of the data file on disk.
- However, according to the working of core:sample_start's description also from the specification, it says "If the Dataset is a SigMF Dataset file, this field can be immediately mapped to physical disk location since conforming Datasets only contain sample data."
- Statement 4 is not true if a capture or annotation's
core:sample_start indices are globally indexed, and must be greater than or equal to a non-zero core:offset.
So either core:sample_start "directly maps to data on disk", or "all other indices referenced in metadata for this recording SHOULD be greater than or equal to this [core:offset] value." - If core:offset is non-zero, it can't be both.
Is this a contradiction, or am I misunderstanding?
I will start this by saying I have read Issue #153 - I am bringing it up anyway as I see a contradiction in the specification with respect to the descriptions of
core:offsetandcore:sample_start.The contradiction I see is this:
core:offsetoccurs when there are multiple files in a continuous stream, and indicates this dataset picks up from where another one ended.core:offset).core:sample_start, stored in both captures and annotations, are "other indices referenced in the metadata" and so should be an absolute index based on the entire data stream, and not necessarily map to a physical index of the data file on disk.core:sample_startindices are globally indexed, and must be greater than or equal to a non-zerocore:offset.So either
core:sample_start"directly maps to data on disk", or "all other indices referenced in metadata for this recording SHOULD be greater than or equal to this [core:offset] value." - Ifcore:offsetis non-zero, it can't be both.Is this a contradiction, or am I misunderstanding?