From e6d25a9cb6d3ce7e5aaa928baea88ada9b139722 Mon Sep 17 00:00:00 2001 From: tonihei Date: Fri, 26 Jan 2018 05:43:04 -0800 Subject: [PATCH] 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 --- .../android/exoplayer2/source/dash/DashMediaSource.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java index d9e3c8f581..f609498656 100644 --- a/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java +++ b/library/dash/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaSource.java @@ -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) {