package org.jcodec.containers.mp4.boxes;
import java.nio.ByteBuffer;
import java.util.HashMap;
import java.util.Map;
/**
* This class is part of JCodec ( www.jcodec.org )
* This software is distributed under FreeBSD License
*
* @author The JCodec project
*
*/
public class DataRefBox extends NodeBox {
private static final MyFactory FACTORY = new MyFactory();
public static String fourcc() {
return "dref";
}
public DataRefBox() {
this(new Header(fourcc()));
}
private DataRefBox(Header atom) {
super(atom);
factory = FACTORY;
}
@Override
public void parse(ByteBuffer input) {
input.getInt();
input.getInt();
super.parse(input);
}
@Override
public void doWrite(ByteBuffer out) {
out.putInt(0);
out.putInt(boxes.size());
super.doWrite(out);
}
public static class MyFactory extends BoxFactory {
private Map<String, Class<? extends Box>> mappings = new HashMap<String, Class<? extends Box>>();
public MyFactory() {
mappings.put(UrlBox.fourcc(), UrlBox.class);
mappings.put(AliasBox.fourcc(), AliasBox.class);
mappings.put("cios", AliasBox.class);
}
public Class<? extends Box> toClass(String fourcc) {
return mappings.get(fourcc);
}
}
}