winmm: Never write silence, mmdevapi must handle underruns.

Joerg-Cyril.Hoehle at Joerg-Cyril.Hoehle at
Mon Oct 31 07:54:40 CDT 2011


This patch solves bug #28027 and bug #27937.

It's also part of a path that'll allow me to equate
mmdevapi:GetPosition with winmm:GetPosition mid-term.

One problem is that because of double errors and the still
not 100% complete underrun issue, there's potential that this
patch creates regressions, although what it does is the right thing.
That's why it was too early to submit this earlier, but Andrew thinks
now is the time.
Several weeks ago I wrote:
>Hmm, perhaps I need to first submit the "winmm: Fix GetPosition
>when stopping" patch (not yet finalized).
This is still a very important bug to fix.
IAC_Stop must *not* call snd_pcm_drop and must not lose frames.
Only IAC_Reset may do so.  Winmm's buffer management crucially depends
on GetPosition in the new mmdevapi bridge code.

	Jörg Höhle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-winmm-Never-write-silence-mmdevapi-must-handle-und.patch
Type: application/octet-stream
Size: 1240 bytes
Desc: 0001-winmm-Never-write-silence-mmdevapi-must-handle-und.patch
URL: <>

More information about the wine-patches mailing list