Add handling for null input buffer in DefaultAudioSink processBuffers.

#minor-release

PiperOrigin-RevId: 494166943
This commit is contained in:
samrobinson 2022-12-09 15:28:13 +00:00 committed by Ian Baker
parent 8dbfa1d64d
commit be080f22ae

View file

@ -15,6 +15,7 @@
*/ */
package androidx.media3.exoplayer.audio; package androidx.media3.exoplayer.audio;
import static androidx.media3.common.audio.AudioProcessor.EMPTY_BUFFER;
import static androidx.media3.common.util.Assertions.checkNotNull; import static androidx.media3.common.util.Assertions.checkNotNull;
import static androidx.media3.common.util.Util.constrainValue; import static androidx.media3.common.util.Util.constrainValue;
import static androidx.media3.exoplayer.audio.AudioCapabilities.DEFAULT_AUDIO_CAPABILITIES; import static androidx.media3.exoplayer.audio.AudioCapabilities.DEFAULT_AUDIO_CAPABILITIES;
@ -1013,8 +1014,8 @@ public final class DefaultAudioSink implements AudioSink {
* {@link #writeBuffer(ByteBuffer, long)}. * {@link #writeBuffer(ByteBuffer, long)}.
*/ */
private void processBuffers(long avSyncPresentationTimeUs) throws WriteException { private void processBuffers(long avSyncPresentationTimeUs) throws WriteException {
if (!audioProcessingPipeline.isOperational() && inputBuffer != null) { if (!audioProcessingPipeline.isOperational()) {
writeBuffer(inputBuffer, avSyncPresentationTimeUs); writeBuffer(inputBuffer != null ? inputBuffer : EMPTY_BUFFER, avSyncPresentationTimeUs);
return; return;
} }