private int xinginfoHeader(byte[] b, int off) {
		if (vbrinfo == null)
			vbrinfo = new StringBuilder();
		vbrinfo.append("   vbr header: ");
		vbrinfo.append(new String(b, off, 4));

		trackLength -= framesize;
		int xing_flags = byte2int(b, off + 4);
		if ((xing_flags & 1) == 1) { // track frames
			trackFrames = byte2int(b, off + 8);
			vbrinfo.append("\n track frames: ");
			vbrinfo.append(trackFrames);
			off += 4;
		}
		off += 8;	// VBR header ID + flag
		if ((xing_flags & 0x2) != 0) { // track bytes
			trackLength = byte2int(b, off);
			off += 4;
			vbrinfo.append("\n  track bytes: ");
			vbrinfo.append(trackLength);
		}
		if ((xing_flags & 0x4) != 0) { // TOC: 100-byte
			vbrtoc = new byte[100];
			System.arraycopy(b, off, vbrtoc, 0, 100);
			off += 100;
			//System.out.println("         TOC: yes");
		}
		if ((xing_flags & 0x8) != 0) { // VBR quality
			int xing_quality = byte2int(b, off);
			off += 4;
			vbrinfo.append("\n      quality: ");
			vbrinfo.append(xing_quality);
		}
		tocNumber = 100;//TOC共100个表项
		tocPer = 1;		//每个表项1字节
		tocFactor = 1;
		return off;
	}