Keep replaced manifest uri in DashMediaSource after release.

This is only allowed for user-replaced manifest uris. If the manifest
itself forwards to another manifest, we keep the original manifest in
case the forwarding changes.

Also removed the initialManifest as it can be simplified by using the
sideloadedManifest indicator.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=183376209
This commit is contained in:
tonihei 2018-01-26 05:43:04 -08:00 committed by Oliver Woodman
parent d418204e26
commit e6d25a9cb6

View File

@ -266,8 +266,6 @@ public final class DashMediaSource implements MediaSource {
private static final String TAG = "DashMediaSource";
private final Uri initialManifestUri;
private final DashManifest initialManifest;
private final boolean sideloadedManifest;
private final DataSource.Factory manifestDataSourceFactory;
private final DashChunkSource.Factory chunkSourceFactory;
@ -291,6 +289,7 @@ public final class DashMediaSource implements MediaSource {
private IOException manifestFatalError;
private Handler handler;
private Uri initialManifestUri;
private Uri manifestUri;
private DashManifest manifest;
private boolean manifestLoadPending;
@ -444,7 +443,6 @@ public final class DashMediaSource implements MediaSource {
Handler eventHandler,
MediaSourceEventListener eventListener) {
this.initialManifestUri = manifestUri;
this.initialManifest = manifest;
this.manifest = manifest;
this.manifestUri = manifestUri;
this.manifestDataSourceFactory = manifestDataSourceFactory;
@ -491,6 +489,7 @@ public final class DashMediaSource implements MediaSource {
public void replaceManifestUri(Uri manifestUri) {
synchronized (manifestUriLock) {
this.manifestUri = manifestUri;
this.initialManifestUri = manifestUri;
}
}
@ -553,7 +552,7 @@ public final class DashMediaSource implements MediaSource {
}
manifestLoadStartTimestampMs = 0;
manifestLoadEndTimestampMs = 0;
manifest = initialManifest;
manifest = sideloadedManifest ? manifest : null;
manifestUri = initialManifestUri;
manifestFatalError = null;
if (handler != null) {