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

Parameters to enforce a specific buffer level? #4588

Closed
aelgendy97 opened this issue Oct 8, 2024 · 3 comments
Closed

Parameters to enforce a specific buffer level? #4588

aelgendy97 opened this issue Oct 8, 2024 · 3 comments
Milestone

Comments

@aelgendy97
Copy link

What are the parameters I can change to make sure the buffer level doesn't exceed a specific threshold. I checked the Settings.js file and changed both the stableBufferTime and bufferTimeAtTopQuality (my video isn't considered a long form) to the threshold I want; however, I keep seeing the buffer levels exceeding that threshold. I am using a 4s segment and my MPD is passing the conformance check.

Any pointer would be appreciated

@dsilhavy
Copy link
Collaborator

dsilhavy commented Oct 9, 2024

You are right, the description in Settings.js is confusing. You are using the right settings. The logic is currently as follow:

  1. The ScheduleController checks for the buffer target. As an example, in the nightly build bufferTimeDefault (previously called stableBufferTime in v4) is set to 18 seconds.
  2. It then compares the current buffer level to the buffer target. If bufferLevel < bufferTarget then _shouldBuffer returns true.
  3. The next request is executed

That means you probably see the buffer target being exceeded by a maximum equal to your segment duration. I think it would be cleaner to take the segment duration into account and check:

bufferLevel + segmentDuration < bufferTarget.

I will take this question/discussion to our dash.js call next week.

@aelgendy97
Copy link
Author

Thanks @dsilhavy. This is helpful

@dsilhavy
Copy link
Collaborator

@aelgendy97 I just merged a PR to address this issue in #4594 . The changes should be visible in the nigthly branch soon: https://reference.dashif.org/dash.js/nightly/samples/dash-if-reference-player/index.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

No branches or pull requests

2 participants