package org.jcodec.codecs.mpeg4.es;
import static java.util.Arrays.asList;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Collection;
/**
* This class is part of JCodec ( www.jcodec.org ) This software is distributed
* under FreeBSD License
*
* @author The JCodec project
*
*/
public class NodeDescriptor extends Descriptor {
private Collection<Descriptor> children = new ArrayList<Descriptor>();
public NodeDescriptor(int tag, int size) {
super(tag, size);
}
public NodeDescriptor(int tag) {
super(tag);
}
public NodeDescriptor(int tag, Descriptor[] children) {
super(tag);
this.children.addAll(asList(children));
}
protected void doWrite(ByteBuffer out) {
for (Descriptor descr : children) {
descr.write(out);
}
}
public Collection<Descriptor> getChildren() {
return children;
}
protected void parse(ByteBuffer input) {
Descriptor d;
do {
d = Descriptor.read(input);
if (d != null)
children.add(d);
} while (d != null);
}
}