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,8 +238,10 @@ public class ChunkSampleSource implements SampleSource, Loader.Callback { ...@@ -238,8 +238,10 @@ 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);
} finally {
loadControl.unregister(this);
if (loader.isLoading()) { if (loader.isLoading()) {
loader.cancelLoading(); loader.cancelLoading();
} else { } else {
...@@ -248,6 +250,7 @@ public class ChunkSampleSource implements SampleSource, Loader.Callback { ...@@ -248,6 +250,7 @@ public class ChunkSampleSource implements SampleSource, Loader.Callback {
loadControl.trimAllocator(); loadControl.trimAllocator();
} }
} }
}
@Override @Override
public boolean continueBuffering(long playbackPositionUs) throws IOException { public boolean continueBuffering(long playbackPositionUs) throws IOException {
......
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