Commit 1b764c2d by kimvde Committed by Oliver Woodman

Add unit tests to FLAC extractor related classes

PiperOrigin-RevId: 287973192
parent 97be0652
......@@ -167,7 +167,7 @@ public final class FlacFrameReader {
* @param data The array to read the data from, whose position must correspond to the block size
* bits.
* @param blockSizeKey The key in the block size lookup table.
* @return The block size in samples.
* @return The block size in samples, or -1 if the {@code blockSizeKey} is invalid.
*/
public static int readFrameBlockSizeSamplesFromKey(ParsableByteArray data, int blockSizeKey) {
switch (blockSizeKey) {
......
......@@ -17,9 +17,12 @@ package com.google.android.exoplayer2.util;
import static com.google.common.truth.Truth.assertThat;
import androidx.test.core.app.ApplicationProvider;
import androidx.test.ext.junit.runners.AndroidJUnit4;
import com.google.android.exoplayer2.metadata.Metadata;
import com.google.android.exoplayer2.metadata.flac.VorbisComment;
import com.google.android.exoplayer2.testutil.TestUtil;
import java.io.IOException;
import java.util.ArrayList;
import org.junit.Test;
import org.junit.runner.RunWith;
......@@ -29,6 +32,27 @@ import org.junit.runner.RunWith;
public final class FlacStreamMetadataTest {
@Test
public void constructFromByteArray_setsFieldsCorrectly() throws IOException {
byte[] fileData =
TestUtil.getByteArray(ApplicationProvider.getApplicationContext(), "flac/bear.flac");
FlacStreamMetadata streamMetadata =
new FlacStreamMetadata(
fileData, FlacConstants.STREAM_MARKER_SIZE + FlacConstants.METADATA_BLOCK_HEADER_SIZE);
assertThat(streamMetadata.minBlockSizeSamples).isEqualTo(4096);
assertThat(streamMetadata.maxBlockSizeSamples).isEqualTo(4096);
assertThat(streamMetadata.minFrameSize).isEqualTo(445);
assertThat(streamMetadata.maxFrameSize).isEqualTo(5776);
assertThat(streamMetadata.sampleRate).isEqualTo(48000);
assertThat(streamMetadata.sampleRateLookupKey).isEqualTo(10);
assertThat(streamMetadata.channels).isEqualTo(2);
assertThat(streamMetadata.bitsPerSample).isEqualTo(16);
assertThat(streamMetadata.bitsPerSampleLookupKey).isEqualTo(4);
assertThat(streamMetadata.totalSamples).isEqualTo(131568);
}
@Test
public void parseVorbisComments() {
ArrayList<String> commentsList = new ArrayList<>();
commentsList.add("Title=Song");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment