Commit 4adf8f77 by ojw28

Tweak stop/disable cycles.

parent fc230733
...@@ -417,11 +417,11 @@ public class MediaCodecAudioTrackRenderer extends MediaCodecTrackRenderer { ...@@ -417,11 +417,11 @@ public class MediaCodecAudioTrackRenderer extends MediaCodecTrackRenderer {
@Override @Override
protected void onStopped() { protected void onStopped() {
super.onStopped();
if (audioTrack != null) { if (audioTrack != null) {
resetSyncParams(); resetSyncParams();
audioTrack.pause(); audioTrack.pause();
} }
super.onStopped();
} }
@Override @Override
...@@ -563,9 +563,12 @@ public class MediaCodecAudioTrackRenderer extends MediaCodecTrackRenderer { ...@@ -563,9 +563,12 @@ public class MediaCodecAudioTrackRenderer extends MediaCodecTrackRenderer {
@Override @Override
protected void onDisabled() { protected void onDisabled() {
super.onDisabled();
releaseAudioTrack();
audioSessionId = 0; audioSessionId = 0;
try {
releaseAudioTrack();
} finally {
super.onDisabled();
}
} }
@Override @Override
......
...@@ -269,20 +269,20 @@ public class MediaCodecVideoTrackRenderer extends MediaCodecTrackRenderer { ...@@ -269,20 +269,20 @@ public class MediaCodecVideoTrackRenderer extends MediaCodecTrackRenderer {
@Override @Override
protected void onStopped() { protected void onStopped() {
super.onStopped();
joiningDeadlineUs = -1; joiningDeadlineUs = -1;
notifyAndResetDroppedFrameCount(); notifyAndResetDroppedFrameCount();
super.onStopped();
} }
@Override @Override
public void onDisabled() { public void onDisabled() {
super.onDisabled();
currentWidth = -1; currentWidth = -1;
currentHeight = -1; currentHeight = -1;
currentPixelWidthHeightRatio = -1; currentPixelWidthHeightRatio = -1;
lastReportedWidth = -1; lastReportedWidth = -1;
lastReportedHeight = -1; lastReportedHeight = -1;
lastReportedPixelWidthHeightRatio = -1; lastReportedPixelWidthHeightRatio = -1;
super.onDisabled();
} }
@Override @Override
......
...@@ -238,14 +238,17 @@ public class ChunkSampleSource implements SampleSource, Loader.Callback { ...@@ -238,14 +238,17 @@ public class ChunkSampleSource implements SampleSource, Loader.Callback {
Assertions.checkState(track == 0); Assertions.checkState(track == 0);
pendingDiscontinuity = false; pendingDiscontinuity = false;
state = STATE_PREPARED; state = STATE_PREPARED;
loadControl.unregister(this); try {
chunkSource.disable(mediaChunks); chunkSource.disable(mediaChunks);
if (loader.isLoading()) { } finally {
loader.cancelLoading(); loadControl.unregister(this);
} else { if (loader.isLoading()) {
clearMediaChunks(); loader.cancelLoading();
clearCurrentLoadable(); } else {
loadControl.trimAllocator(); clearMediaChunks();
clearCurrentLoadable();
loadControl.trimAllocator();
}
} }
} }
......
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