mirror of
https://github.com/samsonjs/media.git
synced 2026-04-04 11:05:47 +00:00
Audio event consistency cleanup
PiperOrigin-RevId: 321440594
This commit is contained in:
parent
cfef1378a7
commit
6b4abf2643
3 changed files with 17 additions and 43 deletions
|
|
@ -140,11 +140,9 @@ public interface AudioRendererEventListener {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Invokes {@link AudioRendererEventListener#onAudioSinkUnderrun(int, long, long)}.
|
||||
*/
|
||||
public void audioTrackUnderrun(final int bufferSize, final long bufferSizeMs,
|
||||
final long elapsedSinceLastFeedMs) {
|
||||
/** Invokes {@link AudioRendererEventListener#onAudioSinkUnderrun(int, long, long)}. */
|
||||
public void underrun(
|
||||
final int bufferSize, final long bufferSizeMs, final long elapsedSinceLastFeedMs) {
|
||||
if (handler != null) {
|
||||
handler.post(
|
||||
() ->
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@ package com.google.android.exoplayer2.audio;
|
|||
import android.media.audiofx.Virtualizer;
|
||||
import android.os.Handler;
|
||||
import android.os.SystemClock;
|
||||
import androidx.annotation.CallSuper;
|
||||
import androidx.annotation.IntDef;
|
||||
import androidx.annotation.Nullable;
|
||||
import com.google.android.exoplayer2.BaseRenderer;
|
||||
|
|
@ -295,19 +296,10 @@ public abstract class DecoderAudioRenderer extends BaseRenderer implements Media
|
|||
}
|
||||
|
||||
/** See {@link AudioSink.Listener#onPositionDiscontinuity()}. */
|
||||
protected void onAudioTrackPositionDiscontinuity() {
|
||||
// Do nothing.
|
||||
}
|
||||
|
||||
/** 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.
|
||||
@CallSuper
|
||||
protected void onPositionDiscontinuity() {
|
||||
// We are out of sync so allow currentPositionUs to jump backwards.
|
||||
allowPositionDiscontinuity = true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -686,21 +678,17 @@ public abstract class DecoderAudioRenderer extends BaseRenderer implements Media
|
|||
|
||||
@Override
|
||||
public void onPositionDiscontinuity() {
|
||||
onAudioTrackPositionDiscontinuity();
|
||||
// We are out of sync so allow currentPositionUs to jump backwards.
|
||||
DecoderAudioRenderer.this.allowPositionDiscontinuity = true;
|
||||
DecoderAudioRenderer.this.onPositionDiscontinuity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUnderrun(int bufferSize, long bufferSizeMs, long elapsedSinceLastFeedMs) {
|
||||
eventDispatcher.audioTrackUnderrun(bufferSize, bufferSizeMs, elapsedSinceLastFeedMs);
|
||||
onAudioTrackUnderrun(bufferSize, bufferSizeMs, elapsedSinceLastFeedMs);
|
||||
eventDispatcher.underrun(bufferSize, bufferSizeMs, elapsedSinceLastFeedMs);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSkipSilenceEnabledChanged(boolean skipSilenceEnabled) {
|
||||
eventDispatcher.skipSilenceEnabledChanged(skipSilenceEnabled);
|
||||
onAudioTrackSkipSilenceEnabledChanged(skipSilenceEnabled);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@ import android.media.MediaCrypto;
|
|||
import android.media.MediaFormat;
|
||||
import android.media.audiofx.Virtualizer;
|
||||
import android.os.Handler;
|
||||
import androidx.annotation.CallSuper;
|
||||
import androidx.annotation.Nullable;
|
||||
import com.google.android.exoplayer2.C;
|
||||
import com.google.android.exoplayer2.ExoPlaybackException;
|
||||
|
|
@ -481,19 +482,10 @@ public class MediaCodecAudioRenderer extends MediaCodecRenderer implements Media
|
|||
}
|
||||
|
||||
/** See {@link AudioSink.Listener#onPositionDiscontinuity()}. */
|
||||
protected void onAudioTrackPositionDiscontinuity() {
|
||||
// Do nothing.
|
||||
}
|
||||
|
||||
/** 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.
|
||||
@CallSuper
|
||||
protected void onPositionDiscontinuity() {
|
||||
// We are out of sync so allow currentPositionUs to jump backwards.
|
||||
allowPositionDiscontinuity = true;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -860,21 +852,17 @@ public class MediaCodecAudioRenderer extends MediaCodecRenderer implements Media
|
|||
|
||||
@Override
|
||||
public void onPositionDiscontinuity() {
|
||||
onAudioTrackPositionDiscontinuity();
|
||||
// We are out of sync so allow currentPositionUs to jump backwards.
|
||||
MediaCodecAudioRenderer.this.allowPositionDiscontinuity = true;
|
||||
MediaCodecAudioRenderer.this.onPositionDiscontinuity();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onUnderrun(int bufferSize, long bufferSizeMs, long elapsedSinceLastFeedMs) {
|
||||
eventDispatcher.audioTrackUnderrun(bufferSize, bufferSizeMs, elapsedSinceLastFeedMs);
|
||||
onAudioTrackUnderrun(bufferSize, bufferSizeMs, elapsedSinceLastFeedMs);
|
||||
eventDispatcher.underrun(bufferSize, bufferSizeMs, elapsedSinceLastFeedMs);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSkipSilenceEnabledChanged(boolean skipSilenceEnabled) {
|
||||
eventDispatcher.skipSilenceEnabledChanged(skipSilenceEnabled);
|
||||
onAudioTrackSkipSilenceEnabledChanged(skipSilenceEnabled);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Reference in a new issue