public TrakBox[] getTracks() { return NodeBox.findAll(this, TrakBox.class, "trak"); }
public SampleEntry[] getSampleEntries() { return NodeBox.findAll(this, SampleEntry.class, "mdia", "minf", "stbl", "stsd", null); }
public SampleEntry[] getSampleEntries() { return NodeBox.findAll(this, SampleEntry.class, "mdia", "minf", "stbl", "stsd", null); }
public TrackFragmentBox[] getTracks() { return NodeBox.findAll(this, TrackFragmentBox.class, TrackFragmentBox.fourcc()); }
private void processHeader(NodeBox moov) throws IOException { TrakBox tt = null; TrakBox[] trakBoxs = NodeBox.findAll(moov, TrakBox.class, "trak"); for (int i = 0; i < trakBoxs.length; i++) { TrakBox trak = trakBoxs[i]; SampleEntry se = NodeBox.findFirstPath(trak, SampleEntry.class, new String[] { "mdia", "minf", "stbl", "stsd", null }); if (se != null && "tmcd".equals(se.getFourcc())) { tt = trak; } else { tracks.add(fromTrakBox(trak)); } } if (tt != null) { DemuxerTrack video = getVideoTrack(); if (video != null) timecodeTrack = new TimecodeMP4DemuxerTrack(movie, tt, input); } }
public ChunkWriter(TrakBox trak, SeekableByteChannel[] inputs, SeekableByteChannel out) { entries = NodeBox.findAll(trak, SampleEntry.class, "mdia", "minf", "stbl", "stsd", null); ChunkOffsetsBox stco = NodeBox.findFirst(trak, ChunkOffsetsBox.class, "mdia", "minf", "stbl", "stco"); ChunkOffsets64Box co64 = NodeBox.findFirst(trak, ChunkOffsets64Box.class, "mdia", "minf", "stbl", "co64"); int size; if (stco != null) size = stco.getChunkOffsets().length; else size = co64.getChunkOffsets().length; this.inputs = inputs; offsets = new long[size]; this.out = out; this.trak = trak; }
public ChunkWriter(TrakBox trak, SeekableByteChannel[] inputs, SeekableByteChannel out) { entries = NodeBox.findAll(trak, SampleEntry.class, "mdia", "minf", "stbl", "stsd", null); ChunkOffsetsBox stco = NodeBox.findFirst(trak, ChunkOffsetsBox.class, "mdia", "minf", "stbl", "stco"); ChunkOffsets64Box co64 = NodeBox.findFirst(trak, ChunkOffsets64Box.class, "mdia", "minf", "stbl", "co64"); int size; if (stco != null) size = stco.getChunkOffsets().length; else size = co64.getChunkOffsets().length; this.inputs = inputs; offsets = new long[size]; this.out = out; this.trak = trak; }
private void cleanDrefs(TrakBox trak) { MediaInfoBox minf = trak.getMdia().getMinf(); DataInfoBox dinf = trak.getMdia().getMinf().getDinf(); if (dinf == null) { dinf = new DataInfoBox(); minf.add(dinf); } DataRefBox dref = dinf.getDref(); if (dref == null) { dref = new DataRefBox(); dinf.add(dref); } dref.getBoxes().clear(); dref.add(AliasBox.createSelfRef()); for (SampleEntry entry : NodeBox.findAll(trak, SampleEntry.class, "mdia", "minf", "stbl", "stsd", null)) { entry.setDrefInd((short) 1); } }
private void cleanDrefs(TrakBox trak) { MediaInfoBox minf = trak.getMdia().getMinf(); DataInfoBox dinf = trak.getMdia().getMinf().getDinf(); if (dinf == null) { dinf = new DataInfoBox(); minf.add(dinf); } DataRefBox dref = dinf.getDref(); if (dref == null) { dref = new DataRefBox(); dinf.add(dref); } dref.getBoxes().clear(); dref.add(AliasBox.createSelfRef()); for (SampleEntry entry : NodeBox.findAll(trak, SampleEntry.class, "mdia", "minf", "stbl", "stsd", null)) { entry.setDrefInd((short) 1); } }