ExoPlayer ignores cached data when cached track differs from selected playback track
@tianyif is already working on this.
Since Nov 5, 2025.
- Dominant language
- Java
- Stars
- 3k
- Forks
- 955
- Avg merge
- 12d 14h
- Merged PRs (30d)
- 2
Description
I'm downloading the first 10 seconds of a video to disk cache using DashDownloader or HlsDownloader.
For example, if I force download the lowest quality (144p), then during playback the TrackSelection may choose a different quality track, which is not present in the cache.
As a result, the cache is ignored, and the player tries to fetch data from the network.
If the network is unavailable, playback fails.
I reproduced this case in the demo-shortform app on the main branch:
Changed the test video URL from MP4 to DASH.
Configured the playback TrackSelection to prefer high quality.
Configured the download TrackSelection to download low quality.
The video downloaded successfully, but after disabling the network, playback failed.
Is there a way to force ExoPlayer to play video from cache when cached data exists, no matter which track was cached. and continue to support ABR?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.