Bug#726912: libsdl-mixer1.2: Music with TiMidity backend plays too fast

Manuel A. Fernandez Montecelo manuel.montezelo at gmail.com
Sun Oct 20 17:10:24 UTC 2013


Hi,

2013/10/20 Sylvain Beucler <beuc at debian.org>:
> So I tried falling back to the TiMidity backend, but with:
>   /usr/src/sdl-mixer1.2-1.2.12/build$ SDL_FORCE_SOUNDFONTS=1 SDL_SOUNDFONTS= ./playmus /usr/share/games/dink/dink/Sound/104.mid
> the music files are played way faster than normal.
> Same issue when played from within the 'freedink' game.
>
> You can compare with timidity+freepats:
>   timidity /usr/share/games/dink/dink/Sound/104.mid
> or more importantly with an upstream build of SDL 1.2.12:
>   /usr/src/SDL_mixer-1.2.12/build$ ./playmus /usr/share/games/dink/dink/Sound/104.mid
>
> So it looks like a Debian-patch messed with the TiMidity backend.

Maybe due to "bug-694260-freedink_stack_corruption.patch" [1],
introduced to deal with [2]?    Or one of the other two patches
touching timidity.* code files, but don't seem directly relevant.

[1] http://patch-tracker.debian.org/package/sdl-mixer1.2/1.2.12-9
[2] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=694260

The first patch seems to skip events if the events is for
channel>=MAXCHAN, which were causing segfault when trying to play
files from freedink.

So maybe it's the file itself which contains information to play more
channels than the ones supported by the software, standard, or defined
in the file itself (I am not familiar with MIDI format/standards so
maybe what I say is a bit stupid, but by the name of the variables it
looks some problem of that sort, instructing to do things "out of
bounds").  If that's the case and it's the file specifying wrong data,
that would explain why fluidsynth doesn't play it well / at all.

It would be great if you could recompile the deb package with that
patch disabled and test it if plays the file, and other files of
freedink, and see if it doesn't segfault (some modification of the
current patch would be needed, I guess, that's why the patch was
devised in the first place).

I cannot spend too much time in the next few weeks and will be busy
travelling, but if somebody finds a simple fix like disabling or the
patch or enabling a modified one I can upload a new version.


Cheers.
-- 
Manuel A. Fernandez Montecelo <manuel.montezelo at gmail.com>



More information about the Pkg-sdl-maintainers mailing list