mirror of
https://github.com/androidx/media.git
synced 2025-05-04 14:10:40 +08:00

In order to expose the live window, it is necessary (unlike before) to refresh the live playlists being played periodically so as to know where the user can seek to. For this, the HlsPlaylistTracker is added, which is basically a map from HlsUrl's to playlist. One of the playlists involved in the playback will be chosen to define the live window. The playlist tracker it periodically. The rest of the playilst will be loaded lazily. N.B: This means that for VOD, playlists are not refreshed at all. There are three important features missing in this CL(that will be added in later CLs): * Blacklisting HlsUrls that point to resources that return 4xx response codes. As per [Internal: b/18948961]. * Allow loaded chunks to feed timestamps back to the tracker, to fix any drifting in live playlists. * Dinamically choose the HlsUrl that points to the playlist that defines the live window. Other features: -------------- The tracker can also be used for keeping track of discontinuities. In the case of single variant playlists, this is particularly useful. Might also work if there is a that the live playlists are aligned (but this is more like working around the issue, than actually solving it). For this, see [Internal: b/32166568] and [Internal: b/28985320]. Issue:#87 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=138054302