Exoplayer: Support pre-buffering of next concatenated item.

Created on 6 Oct 2017  路  13Comments  路  Source: google/ExoPlayer

Currently items in a concatenation of media periods are buffered consecutively. This usually results in a buffering state when items are skipped by the user. To support such use-cases, it would be helpful to pre-buffer the start of the next period even if the current period hasn't been fully buffered yet.

enhancement

Most helpful comment

Issue up! Still needed this functionality.

All 13 comments

@tonihei - This enhancement is already shipped right? Looks like we are using DefaultLoadControl to continue pre-buffering of the next period as well. Can you please let me know if this is what's happening :)

No, sorry, this is still something we are planning to do but haven't got around to do it.

To clarify:

  • It is true that we already start to pre-buffer the next item(s) once the current item has been fully buffered.
  • The enhancement being tracked here is to consider pre-buffering the start of the next item(s) in a playlist _before_ we've buffered all the way to the end of the current item. The reasoning being that users are more likely to skip to the start of the next item than seek toward the end of the current item. This is particularly true for music apps.

Thank you for clarifying @ojw28 and @tonihei . While we are at it, I am building a DynamicConcatenatingMediaSource which can take up to 30 videos. I built a demo and saw that exoplayer pre-buffers only one or two next items. So is it okay to add this kind of load or should we code up a wrapper logic to keep up to only k videos at a time.

ExoPlayer buffers as much media as configured in your LoadControl. That's independent of the length of the playlist. So, in short, it's fine to keep as many items in the playlist as you like.

Thank you :)

Hello! Wondering if work has been started yet to support this?

Not yet, sorry. We'll keep this issue posted if we have any updates.

Not yet, sorry. We'll keep this issue posted if we have any updates.

Any news about this issue ?

A different use case to consider: sometimes customers explicitly do not want to start buffering before a previous item has been fully played. This is useful for radio stations to ensure that streams do not have too much delay, i.e. for alarm clock intros or audio ads.

Issue up! Still needed this functionality.

I was searching for this opportunity also. Does anybody have their custom implementation?

is there a timeline for this request or a 3rd party implementation?

Was this page helpful?
0 / 5 - 0 ratings