From 770ad7f06ff4cdba1021c7423a7916517c5065c9 Mon Sep 17 00:00:00 2001 From: Oliver Woodman Date: Mon, 11 May 2015 21:02:38 +0100 Subject: [PATCH] Fix edge case in HlsSampleSource. 1. prepare() needs to load a TsChunk to actually prepare the source. 2. Source is prepared, but no tracks are enabled (this is why it's an edge case - no-one is likely to be doing this!). 3. The TsChunk load completes. We should not load additional chunks in this case. --- .../com/google/android/exoplayer/hls/HlsSampleSource.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/library/src/main/java/com/google/android/exoplayer/hls/HlsSampleSource.java b/library/src/main/java/com/google/android/exoplayer/hls/HlsSampleSource.java index 38239448be..36c1517fab 100644 --- a/library/src/main/java/com/google/android/exoplayer/hls/HlsSampleSource.java +++ b/library/src/main/java/com/google/android/exoplayer/hls/HlsSampleSource.java @@ -345,7 +345,12 @@ public class HlsSampleSource implements SampleSource, Loader.Callback { if (!currentLoadableExceptionFatal) { clearCurrentLoadable(); } - maybeStartLoading(); + if (enabledTrackCount > 0) { + maybeStartLoading(); + } else { + clearState(); + allocator.trim(0); + } } @Override