mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00
Properly release sample streams for DASH
------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=132301223
This commit is contained in:
parent
e296d10c3f
commit
5f39b93d30
@ -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;
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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 {
|
|||||||
|
|
||||||
@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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user