package org.mp4parser.boxes.apple; import com.googlecode.mp4parser.boxes.BoxWriteReadBase; import org.apache.commons.codec.DecoderException; import org.apache.commons.codec.binary.Hex; import org.junit.Test; import org.mp4parser.IsoFile; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.Map; public class TimeCodeBoxTest extends BoxWriteReadBase<TimeCodeBox> { String tcmd = "00000026746D6364000000000000" + "0001000000000000000000005DC00000" + "03E918B200000000"; @Test public void checkRealLifeBox() throws IOException, DecoderException { File f = File.createTempFile("TimeCodeBoxTest", "checkRealLifeBox"); FileOutputStream fos = new FileOutputStream(f); fos.write(Hex.decodeHex(tcmd.toCharArray())); fos.close(); IsoFile isoFile = new IsoFile(new FileInputStream(f).getChannel()); TimeCodeBox tcmd = (TimeCodeBox) isoFile.getBoxes().get(0); System.err.println(tcmd); isoFile.close(); f.delete(); } @Override public Class<TimeCodeBox> getBoxUnderTest() { return TimeCodeBox.class; } @Override public void setupProperties(Map<String, Object> addPropsHere, TimeCodeBox box) { addPropsHere.put("dataReferenceIndex", 666); addPropsHere.put("frameDuration", 1001); addPropsHere.put("numberOfFrames", 24); addPropsHere.put("reserved1", 0); addPropsHere.put("reserved2", 0); addPropsHere.put("timeScale", 24000); addPropsHere.put("rest", new byte[]{4, 5}); } }