Skip to content

Make low latency playback robust over some common CDN delivery errors #3334

@wilaw

Description

@wilaw

While using dash.js 3.1.1. to pay back LL-DASH streams, the player was forced to handle several errors which it did not do in an elegant way.

image

Feature request to handle the following issues during low latency playback

  1. If a 415 response code is received, immediately retry the segment request.
  2. If a 5XX response is received, immediately retry the segment request
  3. If a chunked transfer segment download has not completed within X% of the expected segment duration, then abort the request and either re-try or fail-over to a lower bitrate. A value for X may be 200%. This will result in a rebuffer, but it is better behavior than the current which is that the player waited 120 seconds for a CTE transfer to timeout. You may also established a dynamic threshold by looking at the variation of segment transfer times over the past minute and then aborting anything greater than one standard deviation from that.

I appreciate that it is hard to develop against these errors if they are not easily reproducible. You may want to set-up a proxy which triggers these at your command, or else I can provide you directly some private streams which if you wait 10minutes or so will likely encounter these delivery errors.

Metadata

Metadata

Assignees

Type

No type

Projects

Status

No status

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions