Move audio buffer/array test utility methods to TestUtil.
PiperOrigin-RevId: 504611069
This commit is contained in:
parent
86b629fff8
commit
a5a59df44c
@ -52,6 +52,8 @@ import java.io.InputStream;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Modifier;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
import java.nio.FloatBuffer;
|
||||
import java.util.ArrayDeque;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@ -123,12 +125,35 @@ public class TestUtil {
|
||||
* @return The equivalent byte array.
|
||||
*/
|
||||
public static byte[] createByteArray(int... bytes) {
|
||||
byte[] byteArray = new byte[bytes.length];
|
||||
for (int i = 0; i < byteArray.length; i++) {
|
||||
byte[] array = new byte[bytes.length];
|
||||
for (int i = 0; i < array.length; i++) {
|
||||
Assertions.checkState(0x00 <= bytes[i] && bytes[i] <= 0xFF);
|
||||
byteArray[i] = (byte) bytes[i];
|
||||
array[i] = (byte) bytes[i];
|
||||
}
|
||||
return byteArray;
|
||||
return array;
|
||||
}
|
||||
|
||||
/** Gets the underlying data of the {@link ByteBuffer} as a {@code float[]}. */
|
||||
public static float[] createFloatArray(ByteBuffer byteBuffer) {
|
||||
FloatBuffer buffer = byteBuffer.asFloatBuffer();
|
||||
float[] content = new float[buffer.remaining()];
|
||||
buffer.get(content);
|
||||
return content;
|
||||
}
|
||||
|
||||
/** Creates a {@link ByteBuffer} containing the {@code data}. */
|
||||
public static ByteBuffer createByteBuffer(float[] data) {
|
||||
ByteBuffer buffer =
|
||||
ByteBuffer.allocateDirect(data.length * C.BYTES_PER_FLOAT).order(ByteOrder.nativeOrder());
|
||||
buffer.asFloatBuffer().put(data);
|
||||
return buffer;
|
||||
}
|
||||
|
||||
/** Creates a {@link ByteBuffer} containing the {@code data}. */
|
||||
public static ByteBuffer createByteBuffer(short[] data) {
|
||||
ByteBuffer buffer = ByteBuffer.allocateDirect(data.length * 2).order(ByteOrder.nativeOrder());
|
||||
buffer.asShortBuffer().put(data);
|
||||
return buffer;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -15,14 +15,14 @@
|
||||
*/
|
||||
package androidx.media3.transformer;
|
||||
|
||||
import static androidx.media3.test.utils.TestUtil.createByteBuffer;
|
||||
import static androidx.media3.test.utils.TestUtil.createFloatArray;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import androidx.media3.common.C;
|
||||
import androidx.media3.common.audio.AudioProcessor.AudioFormat;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
import java.nio.FloatBuffer;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@ -318,25 +318,4 @@ public final class AudioMixerImplTest {
|
||||
|
||||
assertThat(mixer.getOutput().remaining()).isEqualTo(0);
|
||||
}
|
||||
|
||||
private static ByteBuffer createByteBuffer(float[] content) {
|
||||
ByteBuffer buffer =
|
||||
ByteBuffer.allocateDirect(content.length * 4).order(ByteOrder.nativeOrder());
|
||||
buffer.asFloatBuffer().put(content);
|
||||
return buffer;
|
||||
}
|
||||
|
||||
private static ByteBuffer createByteBuffer(short[] content) {
|
||||
ByteBuffer byteBuffer =
|
||||
ByteBuffer.allocateDirect(content.length * 2).order(ByteOrder.nativeOrder());
|
||||
byteBuffer.asShortBuffer().put(content);
|
||||
return byteBuffer;
|
||||
}
|
||||
|
||||
private static float[] createFloatArray(ByteBuffer byteBuffer) {
|
||||
FloatBuffer buffer = byteBuffer.asFloatBuffer();
|
||||
float[] content = new float[buffer.remaining()];
|
||||
buffer.get(content);
|
||||
return content;
|
||||
}
|
||||
}
|
||||
|
@ -15,14 +15,14 @@
|
||||
*/
|
||||
package androidx.media3.transformer;
|
||||
|
||||
import static androidx.media3.test.utils.TestUtil.createByteBuffer;
|
||||
import static androidx.media3.test.utils.TestUtil.createFloatArray;
|
||||
import static com.google.common.truth.Truth.assertThat;
|
||||
|
||||
import androidx.media3.common.C;
|
||||
import androidx.media3.common.audio.AudioProcessor.AudioFormat;
|
||||
import androidx.test.ext.junit.runners.AndroidJUnit4;
|
||||
import java.nio.ByteBuffer;
|
||||
import java.nio.ByteOrder;
|
||||
import java.nio.FloatBuffer;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
|
||||
@ -201,25 +201,4 @@ public final class FloatAudioMixingAlgorithmTest {
|
||||
/* sampleRate= */ 44100, /* channelCount= */ 2, C.ENCODING_PCM_32BIT)))
|
||||
.isFalse();
|
||||
}
|
||||
|
||||
private static ByteBuffer createByteBuffer(float[] content) {
|
||||
ByteBuffer byteBuffer =
|
||||
ByteBuffer.allocateDirect(content.length * 4).order(ByteOrder.nativeOrder());
|
||||
byteBuffer.asFloatBuffer().put(content);
|
||||
return byteBuffer;
|
||||
}
|
||||
|
||||
private static ByteBuffer createByteBuffer(short[] content) {
|
||||
ByteBuffer byteBuffer =
|
||||
ByteBuffer.allocateDirect(content.length * 2).order(ByteOrder.nativeOrder());
|
||||
byteBuffer.asShortBuffer().put(content);
|
||||
return byteBuffer;
|
||||
}
|
||||
|
||||
private static float[] createFloatArray(ByteBuffer byteBuffer) {
|
||||
FloatBuffer buffer = byteBuffer.asFloatBuffer();
|
||||
float[] content = new float[buffer.remaining()];
|
||||
buffer.get(content);
|
||||
return content;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user