1dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhupackage com.coremedia.iso.boxes; 2dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 3dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhuimport com.googlecode.mp4parser.AbstractBox; 4dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 5dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhuimport java.nio.ByteBuffer; 6dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 7dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu/** 8dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu * 9dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu */ 10dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhupublic class ItemDataBox extends AbstractBox { 11dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu ByteBuffer data = ByteBuffer.allocate(0); 12dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public static final String TYPE = "idat"; 13dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 14dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 15dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public ItemDataBox() { 16dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu super(TYPE); 17dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 18dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 19dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public ByteBuffer getData() { 20dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu return data; 21dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 22dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 23dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public void setData(ByteBuffer data) { 24dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu this.data = data; 25dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 26dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 27dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu @Override 28dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu protected long getContentSize() { 29dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu return data.limit(); 30dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 31dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 32dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 33dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu @Override 34dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu public void _parseDetails(ByteBuffer content) { 35dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu data = content.slice(); 36dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu content.position(content.position() + content.remaining()); 37dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 38dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu 39dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu @Override 40dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu protected void getContent(ByteBuffer byteBuffer) { 41dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu byteBuffer.put(data); 42dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu } 43dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu} 44