[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