-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Provide more application control over streaming retry behavior #960
Comments
I think a callback would be a great way to have a fine grained control over retries and also it would allow us to have stats on which network requests are failing and why. |
Hi guys, it looks very promising! I am looking forward to see this logic committed. |
This is just cleanup before we tackle real issues around StreamingEngine retry behavior. Issue #960 Change-Id: I66bb80db9ee1fd469c0aa6c089313ba4ecf75101
This method will allow applications to retry streaming after a failure. Issue #960 Change-Id: I2c97f6dea44dbc9431182172101f99d740ea177f
This is outstandingly awesome and absolutely brillant :) |
Yay! Glad to hear it! |
It is not sufficiently easy for application to control retry behavior. We allow detailed configuration at the networking level (
NetworkingEngine
and the variousretryParameters
configs) but not at the streaming level (StreamingEngine
andstreaming
config).Summary of previous discussions and work in this area:
StreamingEngine
didn't give up, even afterNetworkingEngine
failed an individual request.streaming.infiniteRetriesForLiveStreams
to decide behavior for live streams (infinite retry or no retries), while VOD never retries at the streaming level.Previous behavior (v2.0.0 - v2.1.2):
Current behavior (v2.1.3 - v2.1.6):
streaming.infiniteRetriesForLiveStreams
config to decide behavior (defaulttrue
)Proposed new behavior (v2.2.0+):
The default callback would be along these lines and would reproduce current default behavior:
The
infiniteRetriesForLiveStreams
config would become deprecated and scheduled for removal in v2.3.0.The application could achieve any of the previous behaviors through the callback, or any custom logic desired. For example:
The
retryStreaming()
method would be exported fromPlayer
and could be called from outside the callback as well. The callback would not replace or modify the behavior of existing error events. So applications could:Would this proposal meet everyone's needs? Would it be best to keep the default behavior as-is (no auto-retry for VOD, infinite auto-retry for live)? Or should we select a new default starting in v2.2 or v2.3 (such as no auto-retries at all)?
The text was updated successfully, but these errors were encountered: