From d1360ad7d2769e0eb0c511ca93ccd58919556e8d Mon Sep 17 00:00:00 2001 From: Oliver Woodman Date: Fri, 13 Feb 2015 19:26:49 +0000 Subject: [PATCH] Pragmatic fix for "stuck-in-ready-state" when seeking near the end of some streams. --- .../java/com/google/android/exoplayer/audio/AudioTrack.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/library/src/main/java/com/google/android/exoplayer/audio/AudioTrack.java b/library/src/main/java/com/google/android/exoplayer/audio/AudioTrack.java index 0814f6b5bb..9c33014da8 100644 --- a/library/src/main/java/com/google/android/exoplayer/audio/AudioTrack.java +++ b/library/src/main/java/com/google/android/exoplayer/audio/AudioTrack.java @@ -479,7 +479,9 @@ public final class AudioTrack { /** Returns whether enough data has been supplied via {@link #handleBuffer} to begin playback. */ public boolean hasEnoughDataToBeginPlayback() { - return submittedBytes >= minBufferSize; + // The value of minBufferSize can be slightly less than what's actually required for playback + // to start, hence the multiplication factor. + return submittedBytes > (minBufferSize * 3) / 2; } /** Sets the playback volume. */