int unpack_info(Buffer opb){
    version=opb.read(32);
    if(version!=0)
      return (-1);

    channels=opb.read(8);
    rate=opb.read(32);

    bitrate_upper=opb.read(32);
    bitrate_nominal=opb.read(32);
    bitrate_lower=opb.read(32);

    blocksizes[0]=1<<opb.read(4);
    blocksizes[1]=1<<opb.read(4);

    if((rate<1)||(channels<1)||(blocksizes[0]<8)||(blocksizes[1]<blocksizes[0])
        ||(opb.read(1)!=1)){
      clear();
      return (-1);
    }
    return (0);
  }