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

Fragment 4xx network error handling improvements #6853

Merged
merged 1 commit into from
Nov 19, 2024

Conversation

robwalch
Copy link
Collaborator

This PR will...

  • Skip errored fragments with no alternate
  • Fix fragment retry delay when there are no alternates

Why is this Pull Request needed?

Error handling of fragment 4xx errors skips retry, expecting a switch to an alternate selection or pathway. When there is none, the error was reset, but then the stream controller would request the fragment again on next IDLE tick.

This change skips fragments that 4xx when there are no alternate pathways or media options, treating them as gaps, unless the segment is the last segment in a VOD playlist (#5153, #6171). An init segment or the last segment in a playlist will be retried using retry rules even if the network error is a 4xx (#5647, #6741).

Are there any points in the code the reviewer needs to double check?

Resolves issues:

Checklist

  • changes have been done against master branch, and PR does not conflict
  • new unit / functional tests have been added (whenever applicable)
  • API or design changes are documented in API.md

… when there are no alternates

Resolves #6741
Resolves #5647
Resolves #5153
Closes #6171 (replaces)
@robwalch robwalch force-pushed the bugfix/frag-retry-no-alternates branch from 7e65049 to a4e0594 Compare November 19, 2024 21:27
@robwalch robwalch merged commit 5f76328 into master Nov 19, 2024
16 checks passed
@robwalch robwalch deleted the bugfix/frag-retry-no-alternates branch November 19, 2024 22:22
@robwalch robwalch added the GAP segments #EXT-X-GAP support and Fragment.gap usage label Jan 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Error handling GAP segments #EXT-X-GAP support and Fragment.gap usage
Projects
None yet
1 participant