https://bugs.winehq.org/show_bug.cgi?id=39744
Andrew Eikum aeikum@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wine@mblankhorst.nl
--- Comment #2 from Andrew Eikum aeikum@codeweavers.com --- Thanks for the nice bug report! Could you attach your </etc/pulse/daemon.conf> file?
It looks like the pulse buffer is very small compared to what we request. After configuring the stream for 32-bit 2-channel audio, we get these attributes:
trace:pulse:dump_attr maxlength: 4194304 trace:pulse:dump_attr minreq: 5288 trace:pulse:dump_attr fragsize: 21168 trace:pulse:dump_attr tlength: 21168 trace:pulse:dump_attr prebuf: 15888
"tlength" is the important one. 21168 is 2646 frames which is a duration of 0.06 seconds. Later, the application tries to write a buffer of 7200 frames (0.16 seconds), which obviously doesn't fit into that buffer, and fails.
So I wonder why PA is giving us such a tiny buffer? If that's valid behavior for PA, then in order to meet the mmdevapi contract, winepulse should store data locally and feed it to PA as space is made available.