> 
> OK, I think and plan to do so, too. My plan is to add 2 functions to the API,
> named "lame_init_vbrtag" and "lame_finish_vbrtag".
> 
> 1 int lame_init_vbrtag(int guessed_framenumber)
>   - for the initialization(malloc buffers and make gfp->vbrtag = 1, and so on)
>   - returns VBR/ID3 tag size.
>   - caller program (frontend) fseek the output file to make a space for
>   writing these tags.
> 
> 2 int lame_finish_vbrtag(char *TagSpace)
>   - called after finishing the encoding.
>   - it will make a VBR/ID3 tags and copy it to *TagSpace
>   - caller program (frontend) fseek to the beginning of output file, and
>   write it.
> 

No need for lame_init_vbrtag(), since we have a flag the user
can set already?  If this flag is set, the tag is written 
directly into the mp3 bitstream.  (so current code does no
file i/o).

One complication: a vbr tag and id3v2 tag!  If there is also a id3v2
tag, it will be written into the bitstream first, so 
lame_finish_vbrtag() will have to return a file offset
where the vbr tag starts.  

Mark
--
MP3 ENCODER mailing list ( http://geek.rcc.se/mp3encoder/ )

Reply via email to