Make sure the AudioProcessors do not receive AP.EMPTY_BUFFER

PiperOrigin-RevId: 489174645
This commit is contained in:
kimvde 2022-11-17 12:05:07 +00:00 committed by microkatz
parent f658fe79b1
commit 8a4f72b959

View File

@ -323,6 +323,13 @@ public final class AudioProcessingPipeline {
index > 0 index > 0
? outputBuffers[index - 1] ? outputBuffers[index - 1]
: inputBuffer.hasRemaining() ? inputBuffer : EMPTY_BUFFER; : inputBuffer.hasRemaining() ? inputBuffer : EMPTY_BUFFER;
if (input == AudioProcessor.EMPTY_BUFFER) {
// TODO(internal b/198772621): compare to how it was done in DefaultAudioSink to make sure
// this is not unnecessarily complicated.
// Queueing AudioProcessor.EMPTY_BUFFER to an AudioProcessor might lead to unexpected
// behaviour (see [Internal: b/259393434]).
input = EMPTY_BUFFER;
}
long inputBytes = input.remaining(); long inputBytes = input.remaining();
audioProcessor.queueInput(input); audioProcessor.queueInput(input);
outputBuffers[index] = audioProcessor.getOutput(); outputBuffers[index] = audioProcessor.getOutput();