I'm still having problems with the sound, something in the dsound mixer is wrong. I've created a trace (+dsound):
first comes this, that shows that sdound detected a possible underrun and sets probably_valid_to to -1.
trace:dsound:DSOUND_MixOne (0x55952b88,54684,54684,49392) trace:dsound:DSOUND_MixOne buf_writepos=8192, primary_writepos=54684 trace:dsound:DSOUND_MixOne buf_done=0, primary_done=0 trace:dsound:DSOUND_MixOne buf_mixpos=8192, primary_mixpos=54684, mixlen=49392 trace:dsound:DSOUND_MixOne looping=1, startpos=0, leadin=0 trace:dsound:DSOUND_MixOne streaming buffer probably_valid_to=8192, probably_valid_left=0 warn:dsound:DSOUND_MixOne probably_valid_to now within writelead, possible streaming underrun trace:dsound:DSOUND_MixOne remaining mixlen=49392
next time wine enters DSOUND_MixOne() this occurs:
trace:dsound:DSOUND_MixOne (0x55952b88,54684,63504,49392) trace:dsound:DSOUND_MixOne buf_writepos=17012, primary_writepos=63504 trace:dsound:DSOUND_MixOne buf_done=7804, primary_done=40572 trace:dsound:DSOUND_MixOne buf_mixpos=24816, primary_mixpos=19404, mixlen=49392 trace:dsound:DSOUND_MixOne looping=1, startpos=0, leadin=0 trace:dsound:DSOUND_MixOne streaming buffer probably_valid_to=-1, probably_valid_left=32768 trace:dsound:DSOUND_MixOne clipping to probably_valid_left=32768 fixme:dsound:DSOUND_MixOne problem with underrun detection (mixlen=32768 < primary_done=40572)
now wine clips mixlen to probably_valid_left which is smaller than primary_done. I don't know what primary_done, mixlen, probably_valid_left and probably_valid_to mean, but somthing with those variables is wrong.
the full log is in the attachment
tom