Allow reusing HlsMediaSource.

GitHub:#3498

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=183373647
This commit is contained in:
tonihei 2018-01-26 05:09:17 -08:00 committed by Oliver Woodman
parent e4a91b9e3d
commit d418204e26

View File

@ -324,10 +324,9 @@ public final class HlsMediaSource implements MediaSource,
@Override @Override
public void prepareSource(ExoPlayer player, boolean isTopLevelSource, Listener listener) { public void prepareSource(ExoPlayer player, boolean isTopLevelSource, Listener listener) {
Assertions.checkState(sourceListener == null, MEDIA_SOURCE_REUSED_ERROR_MESSAGE); sourceListener = listener;
playlistTracker = new HlsPlaylistTracker(manifestUri, dataSourceFactory, eventDispatcher, playlistTracker = new HlsPlaylistTracker(manifestUri, dataSourceFactory, eventDispatcher,
minLoadableRetryCount, this, playlistParser); minLoadableRetryCount, this, playlistParser);
sourceListener = listener;
playlistTracker.start(); playlistTracker.start();
} }
@ -361,6 +360,7 @@ public final class HlsMediaSource implements MediaSource,
playlistTracker.release(); playlistTracker.release();
playlistTracker = null; playlistTracker = null;
} }
sourceListener = null;
} }
@Override @Override