-
Notifications
You must be signed in to change notification settings - Fork 6k
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
Add support for multiple baseurl failover using dvb:priority and dvb:weight #7654
Labels
Comments
Support for multiple BaseURL support is tracked by #771. Let's keep this one to additionally track the DVB enhancements, however. |
Perfect, thanks 👍 |
thanks for doing this, much appreaciated 🎉 |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Use case description
To mitigate failures between between the player and origin we use a number of CDNs and on playback failure attempt to resume playback using one of the other CDNs. We prioritise certain routes over others (sometimes for cost reasons) and also allow connections to recover such that they are elligebale for fail over again. At this time failover is implemented outwith of exoplayer and results in a sub-optimal experience for the audience. A similar strategy is applied to downloads for offline playback except at this time I think it is imposible to resume a download using a different baseURI.
The DASH spec includes provision for multiple BaseURL support and a player should make use of the alternatives offered in the event of an error. This is further enhanced by DVB Document a168 section 10.8.2.1 to include priority and weighting information (and more generally section 10.8.2).
Proposed solution
Implement support for failover to multiple BaseURLs influenced by the weight and priority attributes such that failover can be attempted whilst there is still buffer available providing the best experience for the audience.
Additionally can this be used for failover during download of DASH streams for offline playback.
A new MediaSourceEventListener or AnalyticsListener callback should be added to signal failover.
Alternatives considered
Only the existing sollution outwith of exoplayer
The text was updated successfully, but these errors were encountered: