Skip to content

Keep already buffered data when seeking to another period #5020

@andrew-norris

Description

@andrew-norris

Issue description

I am trying to play multiple media streams in a ConcatenatingMediaSource. I can get the next tracks to buffer ahead of time. However when seeking within a track or to the next track, the buffered media is re-downloaded. We tracked this issue using Charles proxy and monitoring our network requests.

Reproduction steps

  • Set up Charles Proxy to monitor network traffic.
  • Enter the "Clear -> Enc -> Clear -> Enc -> Enc" sample playlist.
  • Press the Seek Forward Button (Second from the right)

At this point if you look at the Charles traffic there should be multiple responses with the same byte range. We have attached our Charles logs and you can see that the 2nd and 8th, as well as the 5th and the 10th are duplicate calls.
exoplayer_issue.chls.zip

Link to test content

This was reproduced using the Exoplayer demo app.

Version of ExoPlayer being used

2.9.0

Device(s) and version(s) of Android being used

Samsung Galaxy S9, Android 8.0
Google Pixel 2, Android 8.0

A full bug report captured from the device

bugreport-2018-10-30-01-07-36.zip

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions