Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

libchromaprint1 reports errors with some mp3 files even when no error exists #137

Open
eharris opened this issue Feb 2, 2024 · 1 comment

Comments

@eharris
Copy link

eharris commented Feb 2, 2024

System: Debian bookworm amd64
Version: libchromaprint1 1.5.1-2+b1

When using libchromaprint1 via fpcalc, fpcalc sometimes reports the following error and returns rc = 3 when there doesn't seem to be anything wrong with the input file:

ERROR: Error decoding audio frame (End of file)

This causes picard to consider the fingerprint calculation to have failed.

mp3val and mp3diags report no problems with the source files that cause this error.
ffmpeg also reports no errors when directly decoding the same file, even with -loglevel debug.

This appears to be caused by fpcalc -> libchromaprint1 -> FFmpegAudioReader::Read() -> avcodec_receive_frame()

returning a negative value in some cases when reaching the end of the data stream.

@phw
Copy link
Contributor

phw commented Apr 11, 2024

I think this should be closed:

  1. The decoding errors reported are an ffmpeg thing and would need to be solved there (and it is not unlikely they already are with newer versions).
  2. Status code 3 is explicitly returned for non-critical issues that still allowed the fingerprint to be calculated. Picard ignores those errors since version 2.11 PICARD-2813

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants