Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/dash handler optimizations #3727

Merged
merged 14 commits into from
Aug 17, 2021

Conversation

dsilhavy
Copy link
Collaborator

@dsilhavy dsilhavy commented Aug 5, 2021

This PR aims to solve parts of #3713. It includes a new logic in the DashHandler to decide whether all segments of a period have been loaded:

  • For static and dynamic(Template,List) manifests we compare the index of the last downloaded segment to the number of signaled segments
  • For dynamic SegmentTimeline manifests the number of available segments changes with MPD updates. We compare the media time of the last signaled segment to the media time of the last downloaded segment.
  • For dynamic manifests we can rely on the fact that segments are only allowed to be added to the last period. Once a new period is signaled and the last segment of the current period has been fetched we can conclude that the last segment of the current period has been loaded
  • We update the number of signaled segments after each MPD update
  • In addition, there is still a buffer finished decision logic implemented in the BufferController. After appending each segment we check if the current buffer is >= the time until the end of the period.

The advantage of the new approach is that we start prebuffering new periods, even if not enough segments are signaled to fill the whole buffer for the current period.

@dsilhavy
Copy link
Collaborator Author

dsilhavy commented Aug 5, 2021

@lkinasiewicz Can you please check if this solves the prebuffering issue you saw with your multiperiod content

@dsilhavy dsilhavy added this to the 4.1.0 milestone Aug 5, 2021
@lkinasiewicz
Copy link
Contributor

Yes, this fixes the problem. I removed my changes from this area in #3718.

@dsilhavy dsilhavy merged commit d39b56b into development Aug 17, 2021
@dsilhavy dsilhavy deleted the feature/dashHandlerOptimizations branch August 18, 2021 08:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants