Discard buffer in FakeExoPlayer.

This is in line with a recent change in ExoPlayerImplInternal. Not discarding the buffer
causes OOM when running simulated playbacks.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=177573930
This commit is contained in:
tonihei 2017-12-01 03:33:49 -08:00 committed by Oliver Woodman
parent 23cc102151
commit 80fff0b7ce
2 changed files with 9 additions and 0 deletions

View File

@ -84,6 +84,14 @@ public class FakeAdaptiveMediaPeriod extends FakeMediaPeriod
return returnPositionUs; return returnPositionUs;
} }
@Override
public void discardBuffer(long positionUs, boolean toKeyframe) {
super.discardBuffer(positionUs, toKeyframe);
for (ChunkSampleStream<FakeChunkSource> sampleStream : sampleStreams) {
sampleStream.discardBuffer(positionUs, toKeyframe);
}
}
@Override @Override
public long getBufferedPositionUs() { public long getBufferedPositionUs() {
super.getBufferedPositionUs(); super.getBufferedPositionUs();

View File

@ -364,6 +364,7 @@ public class FakeSimpleExoPlayer extends SimpleExoPlayer {
public void run() { public void run() {
try { try {
maybeContinueLoading(); maybeContinueLoading();
mediaPeriod.discardBuffer(rendererPositionUs, /* toKeyframe= */ false);
boolean allRenderersEnded = true; boolean allRenderersEnded = true;
boolean allRenderersReadyOrEnded = true; boolean allRenderersReadyOrEnded = true;
if (playbackState == Player.STATE_READY) { if (playbackState == Player.STATE_READY) {