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

Add support for multiple baseurl failover using dvb:priority and dvb:weight #7654

Closed
beazlr02 opened this issue Jul 21, 2020 · 3 comments
Closed
Assignees

Comments

@beazlr02
Copy link

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

@ojw28
Copy link
Contributor

ojw28 commented Jul 23, 2020

Support for multiple BaseURL support is tracked by #771. Let's keep this one to additionally track the DVB enhancements, however.

@beazlr02
Copy link
Author

Perfect, thanks 👍

marcbaechinger added a commit that referenced this issue Jul 27, 2021
Issues: #771 and #7654
PiperOrigin-RevId: 386850707
@rossbeazley
Copy link

thanks for doing this, much appreaciated 🎉

@google google locked and limited conversation to collaborators Sep 28, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants