[FFmpeg-cvslog] r19275 - trunk/libavformat/id3v2.c

Jai Menon jmenon86
Mon Jun 29 11:02:15 CEST 2009


On Fri, Jun 26, 2009 at 12:56 AM, michael<subversion at mplayerhq.hu> wrote:
> Author: michael
> Date: Thu Jun 25 21:26:39 2009
> New Revision: 19275
>
> Log:
> Fix id3v2.3/4 tag size parsing.
> Fixes issue1106
>
> Modified:
> ? trunk/libavformat/id3v2.c
>
> Modified: trunk/libavformat/id3v2.c
> ==============================================================================
> --- trunk/libavformat/id3v2.c ? Thu Jun 25 21:10:27 2009 ? ? ? ?(r19274)
> +++ trunk/libavformat/id3v2.c ? Thu Jun 25 21:26:39 2009 ? ? ? ?(r19275)
> @@ -155,7 +155,7 @@ void ff_id3v2_parse(AVFormatContext *s,
> ? ? while (len >= taghdrlen) {
> ? ? ? ? if (isv34) {
> ? ? ? ? ? ? tag ?= get_be32(s->pb);
> - ? ? ? ? ? ?tlen = get_size(s->pb, 4);
> + ? ? ? ? ? ?tlen = get_be32(s->pb);

About this, the spec at [1] seems to suggest that :

"The ID3v2 tag size is stored as a 32 bit synchsafe integer (section
   6.2), making a total of 28 effective bits (representing up to 256MB)"

and in section 6.2,
" Synchsafe integers are integers that keep its highest bit (bit 7)
zeroed, making seven bits
   out of eight available. Thus a 32 bit synchsafe integer can store 28
   bits of information."

So wasn't the old code correct? BTW, this is defined similarly in id3v2.[234].
Also, issue 1234 on roundup is in this regard.

[1] http://www.id3.org/Developer_Information

[...]

-- 
Regards,

Jai



More information about the ffmpeg-cvslog mailing list