As per title, playback of a playlist can get stuck in the buffering state if the end times of the tracks of the sample coming to an end are uneven.
I ran into (maybe) this bug myself today with this video: http://vid.pr0gramm.com/2017/01/21/8da9138fe27c1b97.mp4
ffmpeg tells me, that the audio ends at 19.45s, video already at 18.92. With the end of the video stream, exo player freezes and wont play the last half second of audio content. I could track it down to a blocking call in ConditionVariable.block() in ExtractorMediaPeriod.load(). Maybe this helps!
Well I tried the workaround @ojw28 mentioned in #1846 , it does not help though.
When the player is about to reach the end, playbackstate changes to buffering and the player freezes. video link
@zijing07 - There was some confusing posting of similar-but-unrelated issues onto the bottom of some of the issues that reference this one, which I've now removed for clarify. As an aside, the reason we've started automatically locking old issues is to help prevent this kind of confusion.
If you have the issue being tracked here, where the end times of the audio and video tracks are uneven in the media being played, then you need to follow this issue and wait for a fix.
Just checked several examples; on most of the media, audio and video durations do no match exactly.
Actually, they are always different by at most half a second.
As a result, most of the videos loop nice for a long time, but some of those hit this issue.
same problem, i just replace setRepleatMode use seekTo(0) when buffer end.
This should now be fixed in dev-v2. Please give it a try. If you have media files that still reproduce the problem, please attach them here or send them to [email protected]. Thanks!
one problematical video I have is playing nice on dev-v2 branch. will update if I face another media that reproduces this.
Hi, any idea when you plan to release this fix? Thanks.
It's fixed in 2.6.0, which is scheduled to be released this week.
Cool thanks!
Wow! That's really good news! Thanks very much!
Most helpful comment
Well I tried the workaround @ojw28 mentioned in #1846 , it does not help though.
When the player is about to reach the end,
playbackstatechanges tobufferingand the player freezes. video link