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

Add Low Latency Stall Threshold #4689

Open
wants to merge 4 commits into
base: development
Choose a base branch
from

Conversation

ryanmccartney
Copy link

@ryanmccartney ryanmccartney commented Feb 7, 2025

In some cases when using Dash.js in Low Latency mode - seen in this caue with chunks of 0.96s in duration, BUFFER_EMPTY events are not raised when the player is observed to stall.

Current operation has a catch for low-latency mode in the checkIfSufficientBuffer within the BufferController which says if the player is in low latency mode only when the buffer reaches 0 is a BUFFER_EMPTY raised.

In some low latency use cases the player can stall in low-latency mode with a buffer level greater than 0. Particulary when chunk sizes are greater than just a handful of frames.

Outside of low-latency mode the BUFFER_EMPTY event is raised whenever the buffer is below the stallThreshold setting. Set by default to 0.3s.

This PR solves the above by adding a seperate lowLatencyStallThreshold alongside the exisiting stallThreshold to enable users to configure each indepedently to allow for cases when the player is to be used to play both low-latency and regular live DASH content.

Also included are extensions to the reference player samples to allow the configuration of both stallThreshold and lowLatencyStallThreshold

@dsilhavy dsilhavy added this to the 5.0.1 milestone Feb 11, 2025
@dsilhavy dsilhavy modified the milestones: 5.0.1, 5.0.0 Feb 11, 2025
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.

2 participants