Commit 5f39b93d by olly Committed by Santiago Seifert

Properly release sample streams for DASH

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=132301223
parent e296d10c
...@@ -626,12 +626,12 @@ import java.io.IOException; ...@@ -626,12 +626,12 @@ import java.io.IOException;
} }
} }
enabledRenderers = new Renderer[0]; enabledRenderers = new Renderer[0];
releasePeriodHoldersFrom(playingPeriodHolder != null ? playingPeriodHolder
: loadingPeriodHolder);
if (mediaSource != null) { if (mediaSource != null) {
mediaSource.releaseSource(); mediaSource.releaseSource();
mediaSource = null; mediaSource = null;
} }
releasePeriodHoldersFrom(playingPeriodHolder != null ? playingPeriodHolder
: loadingPeriodHolder);
isTimelineReady = false; isTimelineReady = false;
isTimelineEnded = false; isTimelineEnded = false;
playingPeriodHolder = null; playingPeriodHolder = null;
......
...@@ -91,6 +91,12 @@ import java.util.List; ...@@ -91,6 +91,12 @@ import java.util.List;
} }
} }
public void release() {
for (ChunkSampleStream<DashChunkSource> sampleStream : sampleStreams) {
sampleStream.release();
}
}
@Override @Override
public void maybeThrowPrepareError() throws IOException { public void maybeThrowPrepareError() throws IOException {
manifestLoaderErrorThrower.maybeThrowError(); manifestLoaderErrorThrower.maybeThrowError();
......
...@@ -182,7 +182,9 @@ public final class DashMediaSource implements MediaSource { ...@@ -182,7 +182,9 @@ public final class DashMediaSource implements MediaSource {
@Override @Override
public void releasePeriod(MediaPeriod mediaPeriod) { public void releasePeriod(MediaPeriod mediaPeriod) {
periodsById.remove(((DashMediaPeriod) mediaPeriod).id); DashMediaPeriod dashMediaPeriod = (DashMediaPeriod) mediaPeriod;
dashMediaPeriod.release();
periodsById.remove(dashMediaPeriod.id);
} }
@Override @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