- Fix segment number iterator and segment availability-time iterator for dynamic timeline-less DASH streams by calculating the right segment number offset and basing the segment availability-time on the segment number, and not just on the current time alone - Set a default value of 0 seconds for presentationTimeOffset - Ensure that segment durations are known - Never calculate negative segment number offsets - Reduce unnecessary delay by starting with the upcoming segment in the generated timeline to be as close to the live-edge as possible (with minBufferTime and presentation offset+delay in mind) - Add debug log output - Update MPD manifest test fixture with better time data Next: - Consider removing the default value of suggestedPresentationDelay, as it seems to be a relict of Streamlink's initial DASH implementation - Also take a look at properly synchronizing the generated timeline between multiple substreams, so that the correct segment numbers always get calculated in all threads - Avoid interweaving debug log and make it flush per-thread