mirror of
https://github.com/samsonjs/media.git
synced 2026-04-27 15:07:40 +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)}. */
|
||||||
* 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;
|
||||||
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
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 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
|
||||||
|
|
||||||
@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;
|
||||||
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
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 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
|
||||||
|
|
||||||
@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
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue