Opened 11 years ago

Closed 11 years ago

Last modified 9 years ago

#4 closed defect (invalid)

MP3 file with unsynchronised id3v2 tag is not read correctly

Reported by: Carl Eugen Hoyos Owned by: Michael Niedermayer
Priority: normal Component: avformat
Version: git Keywords: mp3 id3v2 roundup
Cc: Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: yes

Description

(issue 2650)
FFmpeg does support unsynchronisation in id3v2 tags, but only in tags starting with "T". Attached sample is unsynchronised in MCDI tag, making it impossible to read the remaining id3v2 tags that can be read if I remove the inserted byte (or patch id3v2.c to skip it).

(Additionally, the OP reported that the VBR tag can not be read in this file.)

ffmpeg -i b.mp3
FFmpeg version git-N-27871-gcc4d3dd, Copyright (c) 2000-2011 the FFmpeg developers
  built on Mar  8 2011 20:24:27 with gcc 4.5.2
  configuration: --cc=/usr/local/gcc-4.5.2/bin/gcc --enable-gpl
  libavutil    50. 39. 0 / 50. 39. 0
  libavcodec   52.113. 2 / 52.113. 2
  libavformat  52.102. 0 / 52.102. 0
  libavdevice  52.  3. 0 / 52.  3. 0
  libavfilter   1. 76. 0 /  1. 76. 0
  libswscale    0. 12. 0 /  0. 12. 0
[mp3 @ 0x11eb440] Header missing
[mp3 @ 0x11e8650] max_analyze_duration reached
[mp3 @ 0x11e8650] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from 'b.mp3':
  Metadata:
    title           : Sound Of Letting Go
    artist          : David Guetta & Tocadisco feat. Chris Willis
    album           : One Love
    TYER            : 2009
    track           : 13/16
  Duration: 00:24:16.38, start: 0.000000, bitrate: 32 kb/s
    Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 32 kb/s
At least one output file must be specified

With the 259th byte removed four additional tags are shown:

ffmpeg -i t.mp3
FFmpeg version git-N-27871-gcc4d3dd, Copyright (c) 2000-2011 the FFmpeg developers
  built on Mar  8 2011 20:24:27 with gcc 4.5.2
  configuration: --cc=/usr/local/gcc-4.5.2/bin/gcc --enable-gpl
  libavutil    50. 39. 0 / 50. 39. 0
  libavcodec   52.113. 2 / 52.113. 2
  libavformat  52.102. 0 / 52.102. 0
  libavdevice  52.  3. 0 / 52.  3. 0
  libavfilter   1. 76. 0 /  1. 76. 0
  libswscale    0. 12. 0 /  0. 12. 0
[mp3 @ 0x11e9710] Header missing
[mp3 @ 0x11e8650] max_analyze_duration reached
[mp3 @ 0x11e8650] Estimating duration from bitrate, this may be inaccurate
Input #0, mp3, from 't.mp3':
  Metadata:
    title           : Sound Of Letting Go
    artist          : David Guetta & Tocadisco feat. Chris Willis
    album           : One Love
    TYER            : 2009
    track           : 13/16
    TLEN            : 225986
    genre           : Bance
    encoded_by      : Exact Audio Copy   (Secure mode)
    encoder         : LAME.EXE -V 2 --vbr-new
  Duration: 00:24:16.38, start: 0.000000, bitrate: 32 kb/s
    Stream #0.0: Audio: mp3, 44100 Hz, stereo, s16, 32 kb/s
At least one output file must be specified

Attachments (1)

id3v2unsync.mp3 (1.0 MB ) - added by Carl Eugen Hoyos 11 years ago.

Download all attachments as: .zip

Change History (3)

by Carl Eugen Hoyos, 11 years ago

Attachment: id3v2unsync.mp3 added

comment:1 by Carl Eugen Hoyos, 11 years ago

Resolution: invalid
Status: newclosed

The id3v2 tag is invalid, reading the VBR tag was fixed by Anton Khirnov.

comment:2 by Carl Eugen Hoyos, 9 years ago

Keywords: mp3 id3v2 roundup added
Note: See TracTickets for help on using tickets.