This happened when parsing files without passing a filename hint, hence relying only on the file bytes. The MP3 format is loose and the MP3 parser is prone to false positives, but hopefully the following fixes will prevent this from happening for any of the file types for which we have registered parsers.
Changed MP3 priority from 99 to 101. This ensures that MP3 parser is the last one to be used when we're iterating through parsers.
Added a preventive check against WAV headers in the MP3 parser
Added a new test verifying that we correctly parse files over HTTP even without a filename hint
Added a test verifying that MP3 is always the last parser used when not providing a filename hint
Set up a new convention that invalid fixtures contain the "invalid" word in their filename and added tests for this
This happened when parsing files without passing a filename hint, hence relying only on the file bytes. The MP3 format is loose and the MP3 parser is prone to false positives, but hopefully the following fixes will prevent this from happening for any of the file types for which we have registered parsers.