Fingerprint=AQAAAA for MP3 that ffmpeg can decode

Issue #3 resolved
Marti R. created an issue

I have an odd MP3 album that all software seems to be able to play -- ffplay (from ffmpeg), mplayer, Totem, etc. But when I scan these tracks with fpcalc, acoustid-fingerprinter or Picard, the fingerprint ends up being "AQAAAA" and is rejected by the server.

I tried before and after tagging the files with Picard.

file(1) tells me:

Awesome Games Studio - Oozi_ Earth Adventure - 01. Menu.mp3: Audio file with ID3 version 2.4.0, contains: MPEG ADTS, layer III, v1, 256 kbps, 44.1 kHz, JntStereo

fpcalc:

FILE=Awesome Games Studio - Oozi_ Earth Adventure - 01. Menu.mp3
DURATION=86
FINGERPRINT=AQAAAA

acoustid-fingerprinter complains:

Submittion failed: "{"status": "error", "error": {"message": "invalid fingerprint", "code": 3}}"

However, after converting these files to FLAC, the fingerprints submitted fine.

I can send you the files on IRC.

Additionally, Picard spews a stack trace when the server rejects it:

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/picard/webservice.py", line 223, in _process_reply
    handler(xml_handler.document, reply, error)
  File "/usr/lib/python2.7/site-packages/picard/acoustid.py", line 97, in _on_lookup_finished
    results = document.response[0].results[0].children.get('result')
  File "/usr/lib/python2.7/site-packages/picard/webservice.py", line 76, in __getattr__
    raise AttributeError, name
AttributeError: results
E: 140600763868928 23:00:23 Network request error for http://api.acoustid.org:80/v2/lookup: Error downloading http://api.acoustid.org:80/v2/lookup - server replied: BAD REQUEST (QT code 299, HTTP code 400)

Comments (13)

  1. Lukáš Lalinský

    New FFmpeg switched to decoding MP3 to a planar sample format and for some reason it failed to convert it to the regular packed format. I've fixed it by explicitly requesting the packed format in 564dd2fc27dbbede445eb52c346aa8dcda4ecc3f.

    I'll have to rethink how to support and test multiple FFmpeg versions. FFmpeg is breaking the API far too often. :(

  2. Marti R. reporter

    I'll have to rethink how to support and test multiple FFmpeg versions

    By using GStreamer? ;)

  3. Michael Helmling

    I have the same issue also with apparently most of my ogg files. Unfortunatelly your patch does not resolve them. Instead, now I get tons of

    WARNING: unable to convert 8192 samples

    and then

    Chromaprint::FingerprintCalculator::Calculate() -- Not enough data. Image has 0 rows, needs at least 16 rows.

    This happens with a freshly created ogg from a FLAC file that runs fine.

  4. Lukáš Lalinský

    I'll have a look if that happens for me as well with the most recent FFmpeg. If not, I'll probably need you to send me one such file.

  5. Adrián López Calvo

    Hello. It seems I've encountered this issue with the current packages in Fedora 19.

    [mp3 @ 0xe3c0a0] Header missing
    Chromaprint::FingerprintCalculator::Calculate() -- Not enough data. Image has 0 rows, needs at least 16 rows.
    FILE=Descargas/Musica sin procesar/Midtown-Become What You Hate.mp3
    DURATION=171
    FINGERPRINT=AQAAAA
    

    Is it the same? You don't have any contact with the repo maintainer(s), do you?

  6. Log in to comment