Bug 8797 - Support for LAME 3.98 default endianness change
: Support for LAME 3.98 default endianness change
Status: CLOSED FIXED
Product: Logitech Media Server
Classification: Unclassified
Component: Transcoding
: unspecified
: PC Windows XP
: -- normal (vote)
: 7.x
Assigned To: Spies Steven
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2008-07-18 14:10 UTC by Anoop Mehta
Modified: 2009-09-08 09:17 UTC (History)
2 users (show)

See Also:
Category: ---


Attachments
sample file. (4.70 MB, audio/m4a)
2008-07-18 14:10 UTC, Anoop Mehta
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Anoop Mehta 2008-07-18 14:10:23 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.
Comment 1 Chris Owens 2008-07-21 09:37:54 UTC
What version of Squeezecenter did this happen on?  Why were you encoding to mp3?  Using it with a slimp3 or something?
Comment 2 Anoop Mehta 2008-07-21 11:10:13 UTC
SC 7.0.1 and yes the customer has a slimp3 only. 
Comment 3 Blackketter Dean 2008-07-22 05:06:41 UTC
Ah, this may be addressed in the 7.2-new-streaming work.  
Comment 4 Blackketter Dean 2008-07-22 05:25:30 UTC
QA folk, can you reproduce in the new branch?
Comment 5 Chris Owens 2008-07-28 09:14:41 UTC
Let's see if this happens in the regular branch.  We can deal after that.h
Comment 6 Spies Steven 2008-08-05 10:40:14 UTC
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.

Comment 7 Spies Steven 2008-08-05 11:10:07 UTC
OK, I get the white noise on Windows XP.  Investigating further.
Comment 8 Spies Steven 2008-08-05 16:10:26 UTC
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?
Comment 9 Andy Grundman 2008-08-05 16:44:43 UTC
Strange change for LAME to make, but that's a good and simple fix.  Will apply for 7.2.
Comment 10 Andy Grundman 2008-08-06 08:13:43 UTC
We need to test that 3.98 still works with all other file formats.  Can you do this Steven?
Comment 11 Andy Grundman 2008-08-06 08:17:18 UTC
mov123 fixed in change 22414.
Comment 12 Spies Steven 2008-08-06 16:00:41 UTC
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.
Comment 13 Blackketter Dean 2008-08-06 17:21:14 UTC
Steven: Can you also verify that this doesn't break transcoding with older versions of lame installed?
Comment 14 Spies Steven 2008-08-07 08:12:17 UTC
I'll try older versions of lame as well.  How far back should we support?
Comment 15 Blackketter Dean 2008-08-07 08:58:54 UTC
At a minimum, back to before  the endian command line option was added.
Comment 16 Spies Steven 2008-08-07 16:14:35 UTC
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.
Comment 17 Andy Grundman 2008-08-08 09:11:44 UTC
Fixed in change 22476.
Comment 18 James Richardson 2008-10-13 15:24:53 UTC
Verified fixed in

SqueezeCenter 7.2.1-23518
Comment 19 James Richardson 2008-12-15 12:34:18 UTC
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.
Comment 20 Chris Owens 2009-07-31 10:25:00 UTC
Reduce number of active targets for SC