Skip to content

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

@beazlr02

Description

@beazlr02

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions