Bugzilla – Bug 14658
error in signess in mp4 code in Audio::Scan
Last modified: 2009-10-22 11:23:39 UTC
on line 1146 in src/mp4.c in Audio::Scan there is a check for the character "@", // strip copyright symbol 0xA9 out of key if ( ckey[0] == -87 ) { ckey++; } Above code works fine on a PC, but on a PPC, it fails; chaning -87 to 0xa9 makes it work on PPC but will fail on an PC (64bit ubuntu). ugly hack I made was: if ( ckey[0] == 0xa9 || ckey[0] == -87 ) { which works, but is as ugly as hell.
How bad is the failure? The 0xA9 symbol is just not stripped out?
(In reply to comment #1) > How bad is the failure? The 0xA9 symbol is just not stripped out? I noticed the problem when the tests regarding mp4 failed on the PPC platform, When I then tested to change -87 to 0xa9, it would complete on PPC, but fail on x86_64 instead. I'm afraid it's some underlying problem which causes this, and the current code with a magic number -87 smells funky, as ckey should point to some sort of string, and thus should be unsigned in my world.
== Auto-comment from SVN commit #460 to the opensource repo by andy == == https://svn.slimdevices.com/opensource?view=revision&revision=460 == Fixed bug 14658, workaround signed char issue on some PPC platforms
This bug has been marked as fixed in the 7.4.1 release version of SqueezeBox Server! Please see the Release Notes for all the details: http://wiki.slimdevices.com/index.php/Release_Notes If you haven't already, please download and install the new version from http://www.logitechsqueezebox.com/support/download-squeezebox-server.html If you are still experiencing this problem, feel free to reopen the bug with your new comments and we'll have another look.