MaartenLankhorst/SOC2007

Thought I would keep this for updates on my project for SOC 2007.

For SummerOfCode I will try to improve DirectSound and alsa, on the following things:

  • (./) Add support for DSCapture in winealsa (Currently not implemented)

  • (./) Fix slowness of alsa wavein capture in directsound

  • (./) Try to use software buffers less, rather forward to alsa for that. (3 line patches would do it now, but I don't think it's a good idea with the dmix bugs)

  • (./) Improve current (broken) code for winealsa's directsound rendering

  • (./) Allow for using IDs:(Un)lock in dsound's builtin mixer

  • (./) Get directsound software mixer working better (it's black voodoo!)

  • Verify that wine dsound follows acceleration levels:
    • (./) Emulation: Only winmm interface

    • (./) Basic: Force software mixer, only primary accelerated

    • Standard: Allow secondary idsdriverbuffers
    • Full: Properties exposed
  • And of course just a lot of testing
  • Potentially: Extend support for dsound to 4 or 6 channels and 24/32 bit sound. (Only 24+ bits done)
  • (./) Remove DS_HEL_FRAGS and instead use fraglen to calculate fragments needed

  • Fix alsa dsound volume control


Also cool to have, if I have some time left:

  • Allow basic configuration in winecfg, rather then fiddling with registry
  • Unify the winealsa threads (mixer/midi/wavein/waveout), perhaps for soc?
  • Implement IDsDriverNotify, and make sure directsound only uses it if hw accel > basic

  • More granular position in case of alsa dmix


My public git tree no longer exists: It has been merged with the main wine tree.. Also it seems that CIA has an easy way to track committed changes: http://cia.vc/stats/author/Maarten%20Lankhorst%20<m.b.lankhorst%40gmail.com>?messageSort=3

Currently I'm working on the following sub-part:

  • Implement dscapture for ALSA

My testing program for it, which I dubbed "Pointer eater", is a program I wrote and released under the LGPL license. All it does is playing a wave file, but the way it does it is especially hard on directsound, and allows me to uncover bugs.

It's available at http://cross-lfs.org/~mlankhorst/dsoundtest.tar.gz

Precompiled binary at http://cross-lfs.org/~mlankhorst/dsoundtest.exe


Suggestions? Put them beneath here

MaartenLankhorst/SOC2007 (last edited 2008-06-17 05:00:45 by MaartenLankhorst)