Commit 66c240f1 by Dustin

AviHeaderBox Tests

parent 9d88db71
...@@ -46,7 +46,7 @@ public class AviExtractorRoboTest { ...@@ -46,7 +46,7 @@ public class AviExtractorRoboTest {
} }
@Test @Test
public void parseStream_givenNoStreamFormat() throws IOException { public void parseStream_givenNoStreamFormat() {
final AviExtractor aviExtractor = new AviExtractor(); final AviExtractor aviExtractor = new AviExtractor();
final FakeExtractorOutput fakeExtractorOutput = new FakeExtractorOutput(); final FakeExtractorOutput fakeExtractorOutput = new FakeExtractorOutput();
aviExtractor.init(fakeExtractorOutput); aviExtractor.init(fakeExtractorOutput);
......
...@@ -86,7 +86,7 @@ public class AviExtractorTest { ...@@ -86,7 +86,7 @@ public class AviExtractorTest {
@Test @Test
public void peek_givenOnlyRiffAvi_ListHdrlAvih() { public void peek_givenOnlyRiffAvi_ListHdrlAvih() {
final ByteBuffer byteBuffer = DataHelper.getAviHeader(AviExtractor.PEEK_BYTES, 128); final ByteBuffer byteBuffer = DataHelper.getRiffHeader(AviExtractor.PEEK_BYTES, 128);
Assert.assertTrue(sniff(byteBuffer)); Assert.assertTrue(sniff(byteBuffer));
} }
...@@ -277,7 +277,7 @@ public class AviExtractorTest { ...@@ -277,7 +277,7 @@ public class AviExtractorTest {
@Test @Test
public void readHeaderList_givenNoHeaderList() throws IOException { public void readHeaderList_givenNoHeaderList() throws IOException {
final ByteBuffer byteBuffer = DataHelper.getAviHeader(88, 0x44); final ByteBuffer byteBuffer = DataHelper.getRiffHeader(88, 0x44);
byteBuffer.putInt(0x14, AviExtractor.STRL); //Overwrite header list with stream list byteBuffer.putInt(0x14, AviExtractor.STRL); //Overwrite header list with stream list
final FakeExtractorInput input = new FakeExtractorInput.Builder(). final FakeExtractorInput input = new FakeExtractorInput.Builder().
setData(byteBuffer.array()).build(); setData(byteBuffer.array()).build();
...@@ -286,9 +286,9 @@ public class AviExtractorTest { ...@@ -286,9 +286,9 @@ public class AviExtractorTest {
@Test @Test
public void readHeaderList_givenEmptyHeaderList() throws IOException { public void readHeaderList_givenEmptyHeaderList() throws IOException {
final ByteBuffer byteBuffer = DataHelper.getAviHeader(88, 0x44); final ByteBuffer byteBuffer = DataHelper.getRiffHeader(88, 0x44);
byteBuffer.putInt(AviHeaderBox.LEN); byteBuffer.putInt(AviHeaderBox.LEN);
byteBuffer.put(DataHelper.createHeader()); byteBuffer.put(DataHelper.createAviHeader());
final FakeExtractorInput input = new FakeExtractorInput.Builder(). final FakeExtractorInput input = new FakeExtractorInput.Builder().
setData(byteBuffer.array()).build(); setData(byteBuffer.array()).build();
final ListBox listBox = AviExtractor.readHeaderList(input); final ListBox listBox = AviExtractor.readHeaderList(input);
......
package com.google.android.exoplayer2.extractor.avi;
import java.nio.ByteBuffer;
import org.junit.Assert;
import org.junit.Test;
public class AviHeaderBoxTest {
@Test
public void getters() {
final ByteBuffer byteBuffer = DataHelper.createAviHeader();
final AviHeaderBox aviHeaderBox = new AviHeaderBox(AviHeaderBox.AVIH,
byteBuffer.capacity(), byteBuffer);
Assert.assertEquals(DataHelper.VIDEO_US, aviHeaderBox.getMicroSecPerFrame());
Assert.assertTrue(aviHeaderBox.hasIndex());
Assert.assertFalse(aviHeaderBox.mustUseIndex());
Assert.assertEquals(5 * DataHelper.FPS, aviHeaderBox.getTotalFrames());
Assert.assertEquals(2, aviHeaderBox.getStreams());
}
}
...@@ -164,7 +164,7 @@ public class DataHelper { ...@@ -164,7 +164,7 @@ public class DataHelper {
* @param bufferSize * @param bufferSize
* @return * @return
*/ */
public static ByteBuffer getAviHeader(int bufferSize, int headerListSize) { public static ByteBuffer getRiffHeader(int bufferSize, int headerListSize) {
ByteBuffer byteBuffer = AviExtractor.allocate(bufferSize); ByteBuffer byteBuffer = AviExtractor.allocate(bufferSize);
byteBuffer.putInt(AviExtractor.RIFF); byteBuffer.putInt(AviExtractor.RIFF);
byteBuffer.putInt(128); byteBuffer.putInt(128);
...@@ -176,7 +176,7 @@ public class DataHelper { ...@@ -176,7 +176,7 @@ public class DataHelper {
return byteBuffer; return byteBuffer;
} }
public static ByteBuffer createHeader() { public static ByteBuffer createAviHeader() {
final ByteBuffer byteBuffer = ByteBuffer.allocate(AviHeaderBox.LEN); final ByteBuffer byteBuffer = ByteBuffer.allocate(AviHeaderBox.LEN);
byteBuffer.putInt((int)VIDEO_US); byteBuffer.putInt((int)VIDEO_US);
byteBuffer.putLong(0); //skip 4+4 byteBuffer.putLong(0); //skip 4+4
......
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