Bugzilla – Bug 8797
Support for LAME 3.98 default endianness change
Last modified: 2009-09-08 09:17:06 UTC
Created attachment 3622 [details] sample file. When I play an AAC file that is not transcoded to MP3 the file plays fine. When I play the same file transcoded to MP3 via LAME I get nothing but static noise or white noise. File Attached.
What version of Squeezecenter did this happen on? Why were you encoding to mp3? Using it with a slimp3 or something?
SC 7.0.1 and yes the customer has a slimp3 only.
Ah, this may be addressed in the 7.2-new-streaming work.
QA folk, can you reproduce in the new branch?
Let's see if this happens in the regular branch. We can deal after that.h
I have not been able to reproduce using a SLIMP3 with SqueezeCenter 7.1 and Mac OS X on an Intel machine. I will try on Windows XP. Perhaps a log with player.source set to debug may shed some light.
OK, I get the white noise on Windows XP. Investigating further.
So it looks like the latest lame 3.98 defaults to little endian while previously it defaulted to big endian. I believe that mov123 always outputs big endian so the input option --big-endian needs to be added to convert.conf. So for example the mov to mp3 line in convert.conf should look similar to this: mov mp3 * * [mov123] $FILE$ | [lame] --resample 44100 --silent -q $QUALITY$ --abr $BITRATE$ -r --big-endian - - I tested this change on Win XP using lame 3.97 and 3.98 and on Mac OS X using lame 3.97. Andy, what do you think?
Strange change for LAME to make, but that's a good and simple fix. Will apply for 7.2.
We need to test that 3.98 still works with all other file formats. Can you do this Steven?
mov123 fixed in change 22414.
Your right Andy. This change for lame 3.98 might need to be added to all of the transcoding lines in convert.conf. I'll take a look.
Steven: Can you also verify that this doesn't break transcoding with older versions of lame installed?
I'll try older versions of lame as well. How far back should we support?
At a minimum, back to before the endian command line option was added.
OK, so here are all the minimal changes that I suggest for convert.conf that should allow new and old versions of lame to work. The big change is to switch alac from sending raw pcm to wav. Anyone know why we did not do that in the first place? Hopefully someone can verify my changes. The first change was already checked in. mov mp3 * * [mov123] $FILE$ | [lame] --resample 44100 --silent -q $QUALITY$ --abr $BITRATE$ -r --big-endian - - alc mp3 * * [alac] $FILE$ | [lame] --resample 44100 --silent -q $QUALITY$ --abr $BITRATE$ - - ogg mp3 * * [sox] -t ogg $FILE$ -t raw -r 44100 -c 2 -w -s $-x$ - | [lame] --resample 44100 --silent -q $QUALITY$ --abr $BITRATE$ -r --big-endian - - I would also like sox to output wav instead of raw for ogg as well, but since I don't know why we are using raw pcm I think we might want to hold off. Here is what that line looks like if we decided to change it. ogg mp3 * * [sox] -t ogg $FILE$ -t wav - | [lame] --resample 44100 --silent -q $QUALITY$ --abr $BITRATE$ - - These three lines are the only ones that specify raw input to lame so no other changes should be necessary. Have not tried these changes on linux yet.
Fixed in change 22476.
Verified fixed in SqueezeCenter 7.2.1-23518
This bug has been fixed in the 7.3.0 release version of SqueezeCenter! Please download the new version from http://www.slimdevices.com/su_downloads.html if you haven't already. If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.
Reduce number of active targets for SC