Commit 6b4abf26 by olly Committed by Oliver Woodman

Audio event consistency cleanup

PiperOrigin-RevId: 321440594
parent cfef1378
...@@ -140,11 +140,9 @@ public interface AudioRendererEventListener { ...@@ -140,11 +140,9 @@ public interface AudioRendererEventListener {
} }
} }
/** /** Invokes {@link AudioRendererEventListener#onAudioSinkUnderrun(int, long, long)}. */
* Invokes {@link AudioRendererEventListener#onAudioSinkUnderrun(int, long, long)}. public void underrun(
*/ final int bufferSize, final long bufferSizeMs, final long elapsedSinceLastFeedMs) {
public void audioTrackUnderrun(final int bufferSize, final long bufferSizeMs,
final long elapsedSinceLastFeedMs) {
if (handler != null) { if (handler != null) {
handler.post( handler.post(
() -> () ->
......
...@@ -18,6 +18,7 @@ package com.google.android.exoplayer2.audio; ...@@ -18,6 +18,7 @@ package com.google.android.exoplayer2.audio;
import android.media.audiofx.Virtualizer; import android.media.audiofx.Virtualizer;
import android.os.Handler; import android.os.Handler;
import android.os.SystemClock; import android.os.SystemClock;
import androidx.annotation.CallSuper;
import androidx.annotation.IntDef; import androidx.annotation.IntDef;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.google.android.exoplayer2.BaseRenderer; import com.google.android.exoplayer2.BaseRenderer;
...@@ -295,19 +296,10 @@ public abstract class DecoderAudioRenderer extends BaseRenderer implements Media ...@@ -295,19 +296,10 @@ public abstract class DecoderAudioRenderer extends BaseRenderer implements Media
} }
/** See {@link AudioSink.Listener#onPositionDiscontinuity()}. */ /** See {@link AudioSink.Listener#onPositionDiscontinuity()}. */
protected void onAudioTrackPositionDiscontinuity() { @CallSuper
// Do nothing. protected void onPositionDiscontinuity() {
} // We are out of sync so allow currentPositionUs to jump backwards.
allowPositionDiscontinuity = true;
/** See {@link AudioSink.Listener#onUnderrun(int, long, long)}. */
protected void onAudioTrackUnderrun(
int bufferSize, long bufferSizeMs, long elapsedSinceLastFeedMs) {
// Do nothing.
}
/** See {@link AudioSink.Listener#onSkipSilenceEnabledChanged(boolean)}. */
protected void onAudioTrackSkipSilenceEnabledChanged(boolean skipSilenceEnabled) {
// Do nothing.
} }
/** /**
...@@ -686,21 +678,17 @@ public abstract class DecoderAudioRenderer extends BaseRenderer implements Media ...@@ -686,21 +678,17 @@ public abstract class DecoderAudioRenderer extends BaseRenderer implements Media
@Override @Override
public void onPositionDiscontinuity() { public void onPositionDiscontinuity() {
onAudioTrackPositionDiscontinuity(); DecoderAudioRenderer.this.onPositionDiscontinuity();
// We are out of sync so allow currentPositionUs to jump backwards.
DecoderAudioRenderer.this.allowPositionDiscontinuity = true;
} }
@Override @Override
public void onUnderrun(int bufferSize, long bufferSizeMs, long elapsedSinceLastFeedMs) { public void onUnderrun(int bufferSize, long bufferSizeMs, long elapsedSinceLastFeedMs) {
eventDispatcher.audioTrackUnderrun(bufferSize, bufferSizeMs, elapsedSinceLastFeedMs); eventDispatcher.underrun(bufferSize, bufferSizeMs, elapsedSinceLastFeedMs);
onAudioTrackUnderrun(bufferSize, bufferSizeMs, elapsedSinceLastFeedMs);
} }
@Override @Override
public void onSkipSilenceEnabledChanged(boolean skipSilenceEnabled) { public void onSkipSilenceEnabledChanged(boolean skipSilenceEnabled) {
eventDispatcher.skipSilenceEnabledChanged(skipSilenceEnabled); eventDispatcher.skipSilenceEnabledChanged(skipSilenceEnabled);
onAudioTrackSkipSilenceEnabledChanged(skipSilenceEnabled);
} }
} }
} }
...@@ -22,6 +22,7 @@ import android.media.MediaCrypto; ...@@ -22,6 +22,7 @@ import android.media.MediaCrypto;
import android.media.MediaFormat; import android.media.MediaFormat;
import android.media.audiofx.Virtualizer; import android.media.audiofx.Virtualizer;
import android.os.Handler; import android.os.Handler;
import androidx.annotation.CallSuper;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.google.android.exoplayer2.C; import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.ExoPlaybackException; import com.google.android.exoplayer2.ExoPlaybackException;
...@@ -481,19 +482,10 @@ public class MediaCodecAudioRenderer extends MediaCodecRenderer implements Media ...@@ -481,19 +482,10 @@ public class MediaCodecAudioRenderer extends MediaCodecRenderer implements Media
} }
/** See {@link AudioSink.Listener#onPositionDiscontinuity()}. */ /** See {@link AudioSink.Listener#onPositionDiscontinuity()}. */
protected void onAudioTrackPositionDiscontinuity() { @CallSuper
// Do nothing. protected void onPositionDiscontinuity() {
} // We are out of sync so allow currentPositionUs to jump backwards.
allowPositionDiscontinuity = true;
/** See {@link AudioSink.Listener#onUnderrun(int, long, long)}. */
protected void onAudioTrackUnderrun(
int bufferSize, long bufferSizeMs, long elapsedSinceLastFeedMs) {
// Do nothing.
}
/** See {@link AudioSink.Listener#onSkipSilenceEnabledChanged(boolean)}. */
protected void onAudioTrackSkipSilenceEnabledChanged(boolean skipSilenceEnabled) {
// Do nothing.
} }
@Override @Override
...@@ -860,21 +852,17 @@ public class MediaCodecAudioRenderer extends MediaCodecRenderer implements Media ...@@ -860,21 +852,17 @@ public class MediaCodecAudioRenderer extends MediaCodecRenderer implements Media
@Override @Override
public void onPositionDiscontinuity() { public void onPositionDiscontinuity() {
onAudioTrackPositionDiscontinuity(); MediaCodecAudioRenderer.this.onPositionDiscontinuity();
// We are out of sync so allow currentPositionUs to jump backwards.
MediaCodecAudioRenderer.this.allowPositionDiscontinuity = true;
} }
@Override @Override
public void onUnderrun(int bufferSize, long bufferSizeMs, long elapsedSinceLastFeedMs) { public void onUnderrun(int bufferSize, long bufferSizeMs, long elapsedSinceLastFeedMs) {
eventDispatcher.audioTrackUnderrun(bufferSize, bufferSizeMs, elapsedSinceLastFeedMs); eventDispatcher.underrun(bufferSize, bufferSizeMs, elapsedSinceLastFeedMs);
onAudioTrackUnderrun(bufferSize, bufferSizeMs, elapsedSinceLastFeedMs);
} }
@Override @Override
public void onSkipSilenceEnabledChanged(boolean skipSilenceEnabled) { public void onSkipSilenceEnabledChanged(boolean skipSilenceEnabled) {
eventDispatcher.skipSilenceEnabledChanged(skipSilenceEnabled); eventDispatcher.skipSilenceEnabledChanged(skipSilenceEnabled);
onAudioTrackSkipSilenceEnabledChanged(skipSilenceEnabled);
} }
@Override @Override
......
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