From f898bddbfc90276fbf4d4d0ff0459b7e76501e69 Mon Sep 17 00:00:00 2001 From: tonihei Date: Wed, 6 Feb 2019 15:59:33 +0000 Subject: [PATCH] Do not prepare MediaPeriods in a loop. They may prepare immediately and let pendingMediaPeriods become empty before all other periods are even created. PiperOrigin-RevId: 232675283 --- .../com/google/android/exoplayer2/offline/DownloadHelper.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadHelper.java b/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadHelper.java index d12013673f..f88371f36d 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadHelper.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/offline/DownloadHelper.java @@ -834,6 +834,8 @@ public final class DownloadHelper { /* startPositionUs= */ 0); mediaPeriods[i] = mediaPeriod; pendingMediaPeriods.add(mediaPeriod); + } + for (MediaPeriod mediaPeriod : mediaPeriods) { mediaPeriod.prepare(/* callback= */ this, /* positionUs= */ 0); } }