bastimeyer · GitHub

@bastimeyer

- 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

Read the original on github.com ↗