diff --git a/library/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaPeriod.java b/library/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaPeriod.java index 94007af12f..718a05d06b 100644 --- a/library/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaPeriod.java +++ b/library/src/main/java/com/google/android/exoplayer2/source/dash/DashMediaPeriod.java @@ -47,7 +47,6 @@ import java.util.List; private final EventDispatcher eventDispatcher; private final long elapsedRealtimeOffset; private final Loader loader; - private final long durationUs; private final TrackGroupArray trackGroups; private ChunkSampleStream[] sampleStreams; @@ -55,6 +54,7 @@ import java.util.List; private Callback callback; private Allocator allocator; private DashManifest manifest; + private long durationUs; private int index; private Period period; @@ -76,6 +76,7 @@ import java.util.List; public void updateManifest(DashManifest manifest, int index) { this.manifest = manifest; this.index = index; + durationUs = manifest.dynamic ? C.UNSET_TIME_US : manifest.getPeriodDuration(index) * 1000; period = manifest.getPeriod(index); if (sampleStreams != null) { for (ChunkSampleStream sampleStream : sampleStreams) { diff --git a/library/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaPeriod.java b/library/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaPeriod.java index 9c956fbf60..b3fc66fad5 100644 --- a/library/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaPeriod.java +++ b/library/src/main/java/com/google/android/exoplayer2/source/smoothstreaming/SsMediaPeriod.java @@ -48,7 +48,6 @@ import java.util.List; private final Loader manifestLoader; private final int minLoadableRetryCount; private final EventDispatcher eventDispatcher; - private final long durationUs; private final TrackGroupArray trackGroups; private final TrackEncryptionBox[] trackEncryptionBoxes; @@ -65,7 +64,6 @@ import java.util.List; this.manifestLoader = manifestLoader; this.minLoadableRetryCount = minLoadableRetryCount; this.eventDispatcher = eventDispatcher; - durationUs = manifest.durationUs; trackGroups = buildTrackGroups(manifest); ProtectionElement protectionElement = manifest.protectionElement; if (protectionElement != null) { @@ -103,7 +101,7 @@ import java.util.List; @Override public long getDurationUs() { - return durationUs; + return manifest.durationUs; } @Override