diff --git a/library/core/src/main/java/com/google/android/exoplayer2/source/DynamicConcatenatingMediaSource.java b/library/core/src/main/java/com/google/android/exoplayer2/source/DynamicConcatenatingMediaSource.java index 8aef778df3..317166a75e 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/source/DynamicConcatenatingMediaSource.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/source/DynamicConcatenatingMediaSource.java @@ -322,9 +322,13 @@ public final class DynamicConcatenatingMediaSource extends CompositeMediaSource< public synchronized void prepareSourceInternal(ExoPlayer player, boolean isTopLevelSource) { super.prepareSourceInternal(player, isTopLevelSource); this.player = player; - shuffleOrder = shuffleOrder.cloneAndInsert(0, mediaSourcesPublic.size()); - addMediaSourcesInternal(0, mediaSourcesPublic); - scheduleListenerNotification(/* actionOnCompletion= */ null); + if (mediaSourcesPublic.isEmpty()) { + notifyListener(); + } else { + shuffleOrder = shuffleOrder.cloneAndInsert(0, mediaSourcesPublic.size()); + addMediaSourcesInternal(0, mediaSourcesPublic); + scheduleListenerNotification(/* actionOnCompletion= */ null); + } } @Override