Skip to content
This repository was archived by the owner on Oct 20, 2022. It is now read-only.

Improve error handling on bytes error#11

Closed
bwidtmann wants to merge 3 commits into
Orange-OpenSource:developmentfrom
maxdome:improve_error_handling_onBytesError
Closed

Improve error handling on bytes error#11
bwidtmann wants to merge 3 commits into
Orange-OpenSource:developmentfrom
maxdome:improve_error_handling_onBytesError

Conversation

@bwidtmann

Copy link
Copy Markdown

In case of lost internet connection, corrupted or not available chunks on the CDN currently playback stops. This PR changes the behavior to switch to lower quality level and NOT stop scheduler in case of bytes error.

Additionally restrict ABR controller to not switch to unavailable quality level(s) for a certain time (configurable). (line 648 - 669) I know changing configuration at runtime is not a smart way but this was a clean way without changing a lot of files.

…or + restrict ABR controller to not switch to unavailable quality level(s) for a while (10s)
@bbert

bbert commented Apr 23, 2015

Copy link
Copy Markdown

Thanks for this PR. We will have a look, try it and provide you a feedback as soon as possible.
However, some first remarks:

  • If we are already at lowest quality and this quality is not available, we will keep asking for this lowest quality
  • To set manually quality and disable ABR, instead of modifying configuration, you can use abrController.setPlaybackQuality() and abrController.setAutoSwitchBitrate() methods
  • I would rename "ABR.resetABRRestrictionsInterval" by "BufferController.onErrorABRDisableInterval(or Duration)", since it is more related to BufferController than to ABRController and maybe more explicit

@bwidtmann

Copy link
Copy Markdown
Author

I could restart with highest quality, if we reach lowest quality and is not available. So in case of lost internet connection, it would be a loop through all quality levels until one is available again.

I know the abrController.setAutoSwitchBitrate(), but I do not want to switch it off in case of not available quality level.

Yes, I will rename it to BufferController.onErrorABRDisableInterval.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants