severity 588465 serious retitle 588465 libmodplug0c2: ABI change without soname change (causing silence) thanks
I've just noticed this with xine-lib. Polyphony == 0 is the immediate problem, but it gets worse: between 0.8.7 and 0.8.8, two items were added to the ModPlug_Settings structure without a corresponding ABI bump: --- unpacked/usr/include/libmodplug/modplug.h 2009-08-02 03:44:25.000000000 +0100 +++ /usr/include/libmodplug/modplug.h 2010-06-17 01:44:20.000000000 +0100 @@ -80,6 +80,9 @@ int mBits; /* Bits per sample - 8, 16, or 32 */ int mFrequency; /* Sampling rate - 11025, 22050, or 44100 */ int mResamplingMode; /* One of MODPLUG_RESAMPLE_*, above */ + + int mStereoSeparation; /* Stereo separation, 1 - 256 */ + int mMaxMixChannels; /* Maximum number of mixing channels (polyphony), 32 - 256 */ int mReverbDepth; /* Reverb level 0(quiet)-100(loud) */ int mReverbDelay; /* Reverb delay in ms, usually 40-200ms */ It appears that if 0.8.8 is used with software which was compiled against 0.8.7 or earlier, use of ModPlug_GetSettings() will write past the end of the memory allocated for the passed-in ModPlug_Settings*. In xine-lib, that means that the ModPlugFile pointer and possibly (architecture-dependent) its internal copy of the module playing time information will be overwritten. Since the last two fields default to 0 and are left untouched by xine-lib, on amd64 I get silence for the full duration of playback. This is also the cause of the silence in VLC, and they've worked around 0.8.8 by having their configure script bail out in the presence of that version: http://git.videolan.org/?p=vlc/vlc-1.1.git;a=commitdiff;h=6009d22 Basically, an upgrade to 0.8.8.1 is needed. According to upstream, this version fixes the default values of the new fields and has a soname bump. -- | Darren Salt | linux at youmustbejoking | nr. Ashington, | Toon | using Debian GNU/Linux | or ds ,demon,co,uk | Northumberland | back! | + Use more efficient products. Use less. BE MORE ENERGY EFFICIENT. The ultimate mail reader is here! -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org