int pack(Buffer opb){
    // preamble
    opb.write(0x03, 8);
    opb.write(_vorbis);

    // vendor
    opb.write(_vendor.length, 32);
    opb.write(_vendor);

    // comments
    opb.write(comments, 32);
    if(comments!=0){
      for(int i=0; i<comments; i++){
        if(user_comments[i]!=null){
          opb.write(comment_lengths[i], 32);
          opb.write(user_comments[i]);
        }
        else{
          opb.write(0, 32);
        }
      }
    }
    opb.write(1, 1);
    return (0);
  }