package org.jcodec.containers.mkv.elements; import java.util.Date; import org.jcodec.containers.mkv.Type; import org.jcodec.containers.mkv.ebml.DateElement; import org.jcodec.containers.mkv.ebml.Element; import org.jcodec.containers.mkv.ebml.FloatElement; import org.jcodec.containers.mkv.ebml.MasterElement; import org.jcodec.containers.mkv.ebml.StringElement; import org.jcodec.containers.mkv.ebml.UnsignedIntegerElement; public class Info extends MasterElement { private String segmentTitle; private Date segmentDate; private String muxingApp; private String writingApp; private double duration; private long timecodeScale; public Info(byte[] type) { super(type); } @Override public void addChildElement(Element elem) { if (elem.isSameMatroskaType(Type.Title)) { segmentTitle = ((StringElement) elem).get(); } else if (elem.isSameMatroskaType(Type.DateUTC)) { segmentDate = ((DateElement) elem).getDate(); } else if (elem.isSameMatroskaType(Type.MuxingApp)) { muxingApp = ((StringElement) elem).get(); } else if (elem.isSameMatroskaType(Type.WritingApp)) { writingApp = ((StringElement) elem).get(); } else if (elem.isSameMatroskaType(Type.Duration)) { duration = ((FloatElement) elem).get(); } else if (elem.isSameMatroskaType(Type.TimecodeScale)) { timecodeScale = ((UnsignedIntegerElement) elem).get(); } super.addChildElement(elem); } public String getSegmentTitle() { return segmentTitle; } public Date getSegmentDate() { return segmentDate; } public String getMuxingApp() { return muxingApp; } public String getWritingApp() { return writingApp; } public double getDuration() { return duration; } public long getTimecodeScale() { return timecodeScale; } }