package org.mp4parser.muxer.samples;
import org.mp4parser.Container;
import org.mp4parser.muxer.RandomAccessSource;
import org.mp4parser.muxer.Sample;
import org.mp4parser.tools.Path;
import java.util.AbstractList;
import java.util.List;
/**
* Creates a list of <code>ByteBuffer</code>s that represent the samples of a given track.
*/
public class SampleList extends AbstractList<Sample> {
List<Sample> samples;
public SampleList(long trackId, Container isofile, RandomAccessSource source) {
if (Path.getPaths(isofile, "moov/mvex/trex").isEmpty()) {
samples = new DefaultMp4SampleList(trackId, isofile, source);
} else {
samples = new FragmentedMp4SampleList(trackId, isofile, source);
}
}
@Override
public Sample get(int index) {
return samples.get(index);
}
@Override
public int size() {
return samples.size();
}
}