/*
* myLib - https://github.com/taktod/myLib
* Copyright (c) 2014 ttProject. All rights reserved.
*
* Licensed under The MIT license.
*/
package com.ttProject.container.mkv.type;
import java.nio.ByteBuffer;
import com.ttProject.container.mkv.MkvTag;
import com.ttProject.container.mkv.Type;
import com.ttProject.unit.extra.BitConnector;
import com.ttProject.unit.extra.EbmlValue;
import com.ttProject.util.BufferUtil;
/**
* Void
* @author taktod
*/
public class Void extends MkvTag {
/**
* constructor
* @param size
*/
public Void(EbmlValue size) {
super(Type.Void, size);
}
/**
* constructor
*/
public Void() {
this(new EbmlValue());
}
/**
* constructor
* @param position
*/
public Void(long position) {
this();
setPosition((int)position);
}
/**
* set position
* @param position
*/
public void setPosition(long position) {
super.setPosition((int)position);
}
/**
* set size
* @param size
*/
public void setTagSize(int size) {
getTagSize().set(size);
}
/**
* {@inheritDoc}
*/
@Override
protected void requestUpdate() throws Exception {
byte[] empty = new byte[getTagSize().get()];
BitConnector connector = new BitConnector();
ByteBuffer data = BufferUtil.connect(
connector.connect(getTagId(), getTagSize()),
ByteBuffer.wrap(empty));
setSize(data.remaining());
super.setData(data);
}
}