dash-live-source-simulator
dash-live-source-simulator copied to clipboard
Multiple moof/mdat pairs and sequence number to be unique
DashLiveSIM is using segment 1..n filename number in a fragment sequencenumber field. This is fine if m4s file had just one moof/mdat
fragment pair. Having multiple pairs such as a low-latency live test then seqnum should be incremented inside the m4s file per fragment pair.
Should this numbering be a global or can it be reset(=step backward a little bit) after each m4s segment file? This is something to think about and affects the overall implementation. Global numbering need more changes in a source code.
The SequenceNumber value for a fragment that appears later in the timeline MUST be greater than the value for a fragment that appears earlier in the timeline, but SequenceNumber values for consecutive fragments are not required to be consecutive.
We discussed this in the DASH-IF live task force meeting on Nov. 16. A globally growing sequence number cannot be combined with AST = 1970 and fragment duration less than 0.36s. Furthermore, it is only the segments which are addressable, while fragments are only interesting as part of a segment, so it was concluded that we could try to use increasing sequence number inside each segments, but let the sequence number inside the segment increase nicely.
In general, I don't think that any player really uses these sequencenumbers for anything useful.
As a summary, let's go for increasing segment numbers inside the segments, but let the sequence number of the first moof header increase by one between segments.