Commit c4bf83dd by tonihei Committed by Oliver Woodman

Support stop() in FakeExoPlayer and release media properly.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=168209817
parent c1810575
......@@ -69,8 +69,8 @@ public class FakeSimpleExoPlayer extends SimpleExoPlayer {
return player;
}
private class FakeExoPlayer implements ExoPlayer, MediaSource.Listener, MediaPeriod.Callback,
Runnable {
private static class FakeExoPlayer implements ExoPlayer, MediaSource.Listener,
MediaPeriod.Callback, Runnable {
private final Renderer[] renderers;
private final TrackSelector trackSelector;
......@@ -201,12 +201,20 @@ public class FakeSimpleExoPlayer extends SimpleExoPlayer {
@Override
public void stop() {
throw new UnsupportedOperationException();
playbackHandler.post(new Runnable() {
@Override
public void run () {
playbackHandler.removeCallbacksAndMessages(null);
releaseMedia();
changePlaybackState(Player.STATE_IDLE);
}
});
}
@Override
public void release() {
playbackThread.quit();
stop();
playbackThread.quitSafely();
}
@Override
......@@ -536,6 +544,17 @@ public class FakeSimpleExoPlayer extends SimpleExoPlayer {
});
}
private void releaseMedia() {
if (mediaSource != null) {
if (mediaPeriod != null) {
mediaSource.releasePeriod(mediaPeriod);
mediaPeriod = null;
}
mediaSource.releaseSource();
mediaSource = null;
}
}
}
}
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