Commit dae87b66 by olly Committed by Oliver Woodman

MediaPeriod.getDurationUs must report duration when known.

As per the spec of MediaPeriod.getDurationUs, when a live
stream ends we need to start returning the correct final
duration.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=128471183
parent c5aa376b
......@@ -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<DashChunkSource>[] 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<DashChunkSource> sampleStream : sampleStreams) {
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment