class TrackFragmentBaseMediaDecodeTimeBox extends AbstractFullBox {
    public static final String TYPE = "tfdt";

    private long baseMediaDecodeTime;

    public TrackFragmentBaseMediaDecodeTimeBox() {
        super(TYPE);
    }

    @Override
    protected long getContentSize() {
        return getVersion() == 0 ? 8 : 12;
    }

    @Override
    protected void getContent(ByteBuffer byteBuffer) {
        writeVersionAndFlags(byteBuffer);
        if (getVersion() == 1) {
            IsoTypeWriter.writeUInt64(byteBuffer, baseMediaDecodeTime);
        } else {
            IsoTypeWriter.writeUInt32(byteBuffer, baseMediaDecodeTime);
        }
    }


    @Override
    public void _parseDetails(ByteBuffer content) {<FILL_FUNCTION_BODY>}


    public long getBaseMediaDecodeTime() {
        return baseMediaDecodeTime;
    }

    public void setBaseMediaDecodeTime(long baseMediaDecodeTime) {
        this.baseMediaDecodeTime = baseMediaDecodeTime;
    }

    @Override
    public String toString() {
        return "TrackFragmentBaseMediaDecodeTimeBox{" +
                "baseMediaDecodeTime=" + baseMediaDecodeTime +
                '}';
    }
}

        parseVersionAndFlags(content);
        if (getVersion() == 1) {
            baseMediaDecodeTime = IsoTypeReader.readUInt64(content);
        } else {
            baseMediaDecodeTime = IsoTypeReader.readUInt32(content);
        }

    
<methods>public int getFlags() ,public int getVersion() ,public void setFlags(int) ,public void setVersion(int) <variables>protected int flags,protected int version