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
symphonia-check fails with 'Test interrupted by error: malformed stream: mp3: invalid main_data_begin' #68
Comments
A sample file triggering the issue: std_cd687347995a4b159c43783fe74f46e2.mp3.zip |
Since a decode error will create a discontinuity in the output produced by Symphonia (a packet is effectively being dropped), it is expected that this will create subsequent false failures if the reference decoder also does not drop this packet since the pcm output will no longer be aligned. For codecs that don't specify how to handle corrupted or malformed streams, this doesn't necessarily constitute an error. Addresses #68.
I added an option to In a player application, continuing after a decode error is the correct action to take, however, be warned that This is the case with the file you provided. Unfortunately, for the error encountered in this file, the MP3 standard doesn't specify what the behaviour should be. Not really sure if it's desirable to copy ffmpeg's behaviour in this case... 🤔 |
Got it. So this is working as intended, then. I'll make a full |
The highest deviation on the entirety of the Dragon Hoard was |
Thanks for testing. That's an insane collection! I studied how Do you mind giving this a go? |
Sure, I'll leave a run overnight. The full run takes 3 hours on my CPU. Hmm, I'll build with |
Yep, at a glance it appears to be fixed. Doesn't report errors anymore, and I'm not seeing any dramatic mismatches in the first 1000 files. |
Running
symphonia-check
results in an immediate error on roughly 40% of MP3 files from the MySpace Dragon Hoard dataset:However, both
ffplay
andsymphonia-play
seem to play the file without issue.Tested on latest master, commit a723c15
P.S. I have only run
check
on about a third of the hoard, but so far the highest deviation reported with -q flag was 0.00001782, so the decoder seems to be in a pretty good shape overall.The text was updated successfully, but these errors were encountered: