From 58242e6cafb53c4d3c747befdf710de4fba5b68d Mon Sep 17 00:00:00 2001 From: andrewlewis Date: Wed, 14 Dec 2022 09:06:46 +0000 Subject: [PATCH] Output direct buffers from `SilentAudioGenerator` `AudioProcessor`s expect direct buffers. This shouldn't make any functional difference in our code, but a custom audio processor might try to access the buffer from JNI in which case a direct byte buffer is more efficient. PiperOrigin-RevId: 495241669 --- .../android/exoplayer2/transformer/SilentAudioGenerator.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/SilentAudioGenerator.java b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/SilentAudioGenerator.java index 51bdbbdf11..313e609ac1 100644 --- a/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/SilentAudioGenerator.java +++ b/library/transformer/src/main/java/com/google/android/exoplayer2/transformer/SilentAudioGenerator.java @@ -37,7 +37,8 @@ import java.nio.ByteOrder; long outputFrameCount = (format.sampleRate * totalDurationUs) / C.MICROS_PER_SECOND; remainingBytesToOutput = frameSize * outputFrameCount; internalBuffer = - ByteBuffer.allocate(DEFAULT_BUFFER_SIZE_FRAMES * frameSize).order(ByteOrder.nativeOrder()); + ByteBuffer.allocateDirect(DEFAULT_BUFFER_SIZE_FRAMES * frameSize) + .order(ByteOrder.nativeOrder()); internalBuffer.flip(); }