Exoplayer: Support seamless (non-immediate) switching between DASH adaptation sets

Created on 24 Jan 2017  路  6Comments  路  Source: google/ExoPlayer

Question!

I am using v 2.x releasve-v2.

Is there a flag I am missing that might allow seamless/no-break playback when changing adaptation set (using the method... trackselector -> setSelectionOverride). Granted it would continue to play out the what has already been buffered before switching to the new data stream...

If not, is it even feasible? I have been looking in reselectTracksInternal() as a starting point to gather more information...

Thanks!

duplicate enhancement

Most helpful comment

@SteUK Did you ever achieve this? I am trying to implement dynamic rendition support so that given a list of tracks with various resolutions and bitrates; we can seamlessly switch to higher or lower quality tracks on the fly if the user's connection changes.

All 6 comments

This is not currently supported.

Out of interest, what's the actual use case for this? If the user is manually changing what they're trying to view via some UI, then it's in my opinion quite confusing for the actual switch to be delayed. If you're performing some kind of automatic adaptation, is the content in the two adaptation sets the same or different, and why is the switch necessary?

It is for a VR application where it is felt user immersion is being stopped by the pause in (mainly) audio and visual. In our case, think of each adaptation set as a scene camera.

Current thinking is that a delayed switch with continuation would be acceptable to the user as long as they are informed about the delay. I am keen to go poking around to see if I can make ExoPlayer achieve this...if you think it is even feasible with the current code. Pointers as to where to start would be much appreciated.

We thought about having a very low bitrate black representation that would, in theory, start up a lot quicker and thus give quick continuation of the audio. But we cannot find a way to 'reset' the bandwidth heuristic such that this lowest bitrate representation of the new adaptation set is buffered in first.

Any/all ideas welcome!

@SteUK Did you ever achieve this? I am trying to implement dynamic rendition support so that given a list of tracks with various resolutions and bitrates; we can seamlessly switch to higher or lower quality tracks on the fly if the user's connection changes.

@Jogan can you upload your customize code?

Let's use #2250 to track this.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

arjun-redspace picture arjun-redspace  路  3Comments

orcunkobal picture orcunkobal  路  3Comments

talklittle picture talklittle  路  3Comments

kambizira picture kambizira  路  3Comments

Tramnguyen108 picture Tramnguyen108  路  3Comments