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

Improve robustness of hls media player #11672

Merged
merged 3 commits into from Feb 13, 2022

Conversation

allenporter
Copy link
Contributor

Proposed change

Improve robustness of hls media player by retrying errors following the recommended approach in the HLS docs: https://github.com/video-dev/hls.js/blob/master/docs/API.md#fatal-error-recovery

This change introduces two types of errors:

  • Fatal errors that make the video element disappear (the old way all errors are handled)
  • Retryable errors that show a banner on the top of the screen while a retry is invoked

The error state is reset in a couple places based on HLS player making progress (e.g. loading
a manifest or loading an actual fragment).

The error messages are simplified a bit too while we are here since the existing error codes are jarring, and don't
actually provide that much extra detail.

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New feature (thank you!)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Example configuration

Additional information

  • This PR fixes or closes issue: fixes #
  • This PR is related to issue or discussion: #60353 #54659
  • Link to documentation pull request:

Checklist

  • The code change is tested and works locally.
  • There is no commented out code in this PR.
  • Tests have been added to verify that the new code works.

If user exposed functionality or configuration variables are added/changed:

Improve robustness of hls media player by retrying errors following the recommended approach in the HLS docs: https://github.com/video-dev/hls.js/blob/master/docs/API.md#fatal-error-recovery

This change introduces two types of errors:
- Fatal errors that make the video element disappear (the old way all errors are handled)
- Retryable errors that show a banner on the top of the screen while a retry is invoked

The error state is reset in a couple places based on HLS player making progress (e.g. loading
a manifest or loading an actual fragment).

The error messages are simplified a bit too while we are here since the existing error codes are jarring, and don't
actually provide that much extra detail.
@balloob balloob merged commit a8c1fdd into home-assistant:dev Feb 13, 2022
@github-actions github-actions bot locked and limited conversation to collaborators Feb 14, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants