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
