From 63ab601d7545c4073be88c23aee5ea78e5314543 Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Mon, 15 Aug 2016 10:07:22 -0700 Subject: [PATCH] Use consistent identifiers for extractor periods. Also, fix clearing the timeline for source info changes. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=130292700 --- .../com/google/android/exoplayer2/ExoPlayerImplInternal.java | 4 ++++ .../android/exoplayer2/source/ExtractorMediaSource.java | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/library/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java b/library/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java index 05e70921ae..158b14e2e4 100644 --- a/library/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java +++ b/library/src/main/java/com/google/android/exoplayer2/ExoPlayerImplInternal.java @@ -821,6 +821,8 @@ import java.io.IOException; // Release all loaded periods and seek to the new playing period index. releasePeriodsFrom(playingPeriod); playingPeriod = null; + readingPeriod = null; + loadingPeriod = null; MediaSource.Position defaultStartPosition = mediaSource.getDefaultStartPosition(newPlayingPeriodIndex); @@ -851,6 +853,8 @@ import java.io.IOException; index = playingPeriod.index; releasePeriodsFrom(playingPeriod); playingPeriod = null; + readingPeriod = null; + loadingPeriod = null; seekToPeriodPosition(index, 0); return; } diff --git a/library/src/main/java/com/google/android/exoplayer2/source/ExtractorMediaSource.java b/library/src/main/java/com/google/android/exoplayer2/source/ExtractorMediaSource.java index acda232262..67645925d6 100644 --- a/library/src/main/java/com/google/android/exoplayer2/source/ExtractorMediaSource.java +++ b/library/src/main/java/com/google/android/exoplayer2/source/ExtractorMediaSource.java @@ -135,7 +135,7 @@ public final class ExtractorMediaSource implements MediaSource, MediaSource.List @Override public void prepareSource(MediaSource.Listener listener) { sourceListener = listener; - timeline = new SinglePeriodTimeline(this, C.UNSET_TIME_US, false); + timeline = new SinglePeriodTimeline(0, C.UNSET_TIME_US, false); listener.onSourceInfoRefreshed(timeline, null); }