#35 Patch for Linux sound code (SDL/GTK+)

open
nobody
None
5
2006-12-08
2006-12-08
Alphard
No

On my Linux machine (Gentoo Linux with libSDL 1.2.11) I noticed the following symptoms with the CVS version of VBA.

(a) Both SDL and GTK+ versions run much faster than 100% speed when they shouldn't. (The Windows version runs close to 100% speed when there is no throttle value set.)

(b) There are lots of sound stutters with both versions.

(c) The SDL version freezes with SDL_CloseAudio().

It seems to me that (a) is due to lack of syncing between the two threads [main/audio], and (b) is due to SDL_CondWait() in the callback functions. I rewrote some parts of the sound code and all the three symptoms seem to have disappeared on my machine. Unfortunately I have no additional machine to test it on, but I hope this be of help to somebody who suffers from the same problems.

Discussion

  • Alphard
    Alphard
    2006-12-08

     
    Attachments
  • Logged In: YES
    user_id=1686725
    Originator: NO

    Thank you very much for this fine patch.
    It applied cleanly to latest CVS and the sound issues (stuttering etc.) were gone.
    After a short amount of testing (3 to 4h) I did not encounter any problem.

    Testet on:
    Linux **** 2.6.19-beyond2 #1 Mon Jan 8 19:06:26 CET 2007 i686 GNU/Linux
    Ubuntu Edgy Eft (6.10)
    Intel Pentium-M 2.13GHz

     
  • Carlos Véliz
    Carlos Véliz
    2007-05-09

    Logged In: YES
    user_id=1448884
    Originator: NO

    I applied this patch on top of 1628907, 1608454 and 1602180, because otherwise i couldn't compile vba, they didn't modify the same files so it should be ok. The problem is that this patch makes the emulation slower, it plays at around 90% in GTk and 50% in SDL, before applying this patch it was around 100%.
    My system:
    Pentium 4 3.0 Ghz, 1 GB RAM
    Foresight Linux 1.2.1