From f2cf952f6804a2d9c8dd33eb8b919114b5fea129 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 --- .../java/androidx/media3/transformer/SilentAudioGenerator.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libraries/transformer/src/main/java/androidx/media3/transformer/SilentAudioGenerator.java b/libraries/transformer/src/main/java/androidx/media3/transformer/SilentAudioGenerator.java index cb0d82e6fc..d87d03a6d5 100644 --- a/libraries/transformer/src/main/java/androidx/media3/transformer/SilentAudioGenerator.java +++ b/libraries/transformer/src/main/java/androidx/media3/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(); }