-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
MP3 files with varying sample rate are not supported! on Win7, NewSoundSourceAPI #7973
Comments
Commented by: daschuer This it the side effect from fixing Bug #1444478 It is most likely that the files are corrupt. You may verify it with I am curious to see the results here. The issue is somehow hard to solve. So it is correct to reject them entirely in Mixxx in the first place. On the other hand the average user will not understand. why a entertained track will not play. Any idea how to solve this? |
Commented by: uklotzde I see different options based on different assumptions. 1st assumption (status quo): Files should/must have a consistent sampling rate in each frame
3rd assumption: Sampling rates in MP3 frame headers may vary from frame to frame
|
Commented by: uklotzde Do your files play correctly in Mixxx 1.11/1.12? Then my 2nd assumption applies to your files. But which assumption applies to the majority of the files out there?? I have not yet found a concise description of the MP3 format that clearly states if varying sampling rates are allowed in a single file. |
Commented by: uklotzde I checked the mpg123 sources:
Looks like it's time to replace the MP3 decoder, because libmad is just too limited. |
Commented by: daschuer Hi Uwe, my view is slightly different:
The mp3 format supports changing sample rates, but what will be the way to have that in a file. If we now assume, that a changing sample rate file is in fact a corrupt file. It is wrong to play the corrupt frame using a re-sampling algorithm. In the best case the frame is rejected by the decoder anyway, but it is not guaranteed, because the frame crc seams to be usually not used. I have thought about the solution for my file, which starts with a corrupt frame. What about counting the frames of each sample rate and play the file with the most common settings. Skipp all frames that do not match these settings. And Yes, we will experience clicks because of that, but remember, the file is corrupt. How do you like the idea? |
Commented by: daschuer Of cause switching to mpg123 is also a valid solution. I just wonder which new issues will be introduced by that. |
Commented by: uklotzde Using the most common sampling rate found in all frame headers is definitely an option. I don't think that it is possible or at least desirable to skip individual frames, because the decoder must be fed with a consecutive sequence of frames. Skipping arbitrary frames in the stream would also complicate seeking! |
Commented by: daschuer I am curious to see if the decoder is able to decode the frames anyway. If yes, we will receive garbage, if not we will have no transport and finally a seek error. right? If we assume that the decoder finally skips the frames, we may want to reflect it in the seek table. So lets try the "most common" setting solution. Should I give it a try or are you "almost started"? Than I would be happy to test it. |
Commented by: uklotzde
|
Commented by: daschuer @kramer: The solution works for my files on Linux. I am curious to hear if this solves your issues on Win as well. |
Commented by: default-kramer Thanks Daniel, with the fix all my problematic files play correctly now. I've noticed a new issue, I think, where you can't rewind very far past the beginning of a track, and rewinding as far as you can causes playback to get stuck at at a position with negative elapsed time. I'll do some more investigation later and create a new bug since it seems unrelated to this one. |
Issue closed with status Fix Released. |
Reported by: default-kramer
Date: 2015-04-22T01:52:16Z
Status: Fix Released
Importance: High
Launchpad Issue: lp1446931
Tags: soundsource
On the NewSoundSourceAPI branch, I get this message on some of my tracks: "MP3 files with varying sample rate are not supported!" These tracks play in the current master branch, and all the other media players I have installed.
Here is the some debug output. Most of the examples mismatch 44100 vs 48000, but this one is 32000 vs 48000.
The text was updated successfully, but these errors were encountered: