Re: [PATCH] winepulse.drv: Add PulseAudio driver

2012-07-04 Thread Maarten Lankhorst
Hey Joerg, 2012/6/26 : > Hi, > >>If you don't paste all the mmdevapi tests with the fix in my git tree, it's a >>regression. I don't want to see held_Frames because it's a shadow buffer. >>If winmm and dsound don't work without it, they're wrong, fix those. > > I won't comment on the two individu

[PATCH] winepulse.drv: Add PulseAudio driver

2012-06-26 Thread Joerg-Cyril.Hoehle
Hi, >If you don't paste all the mmdevapi tests with the fix in my git tree, it's a >regression. I don't want to see held_Frames because it's a shadow buffer. >If winmm and dsound don't work without it, they're wrong, fix those. I won't comment on the two individual pulseaudio drivers. Unfortunate

Re: [PATCH] winepulse.drv: Add PulseAudio driver

2012-06-18 Thread Darryl Slack
Well after fighting with pulseaudio after all this time I have tried this patch with wine 1.5.6 with a Presonus StudioLive 24.4.2 Fire-wire controller within wine, to control software known as Virtual DJ with timecoded vinyl records. With Andrew's patch, there are stalled buffer errors, and I was

Re: [PATCH] winepulse.drv: Add PulseAudio driver

2012-06-18 Thread Chris Robinson
On Monday, June 18, 2012 11:18:45 AM Andrew Eikum wrote: > Is there any guarantee that Pulse /will/ give us a sufficient buffer? > From the API docs[1], it just "tries to assure" that we have the > requested buffer size, which actually means nothing. It "tries to assure that at least tlength bytes

Re: [PATCH] winepulse.drv: Add PulseAudio driver

2012-06-18 Thread Andrew Eikum
On Mon, Jun 18, 2012 at 08:49:55AM -0700, Chris Robinson wrote: > On Monday, June 18, 2012 9:31:04 AM Andrew Eikum wrote: > > Yeah, I experimented with ADJUST_LATENCY, as it seems to be the trick > > to getting lower latencies. Then we have to maintain our own buffer, > > which is why I switched to

Re: [PATCH] winepulse.drv: Add PulseAudio driver

2012-06-18 Thread Chris Robinson
On Monday, June 18, 2012 9:31:04 AM Andrew Eikum wrote: > We chatted a little on IRC this weekend, but thanks again for the > advice. No problem. :) > Mmdevapi sends it data to the lower systems in period-sized chunks, > and the reported buffer fill level decreases in period-sized chunks. > But t

Re: [PATCH] winepulse.drv: Add PulseAudio driver

2012-06-18 Thread Andrew Eikum
On Fri, Jun 15, 2012 at 06:23:57PM -0700, Chris Robinson wrote: > The update_size is only relevant if mmdevapi updates in period-sized chunks. > If it doesn't, you can just remove it and the rounding. The tlength should be > kept updated using pa_stream_set_buffer_attr_callback, in case the serve

Re: [PATCH] winepulse.drv: Add PulseAudio driver

2012-06-16 Thread Maarten Lankhorst
What happened to the stamped capture buffers? Why is held_frames added? This doesn't look like an attempt to get my driver in, it looks like a rewrite by someone who doesn't understand why I made the design decisions I made for correctness. If you don't paste all the mmdevapi tests with the fix i

Re: [PATCH] winepulse.drv: Add PulseAudio driver

2012-06-15 Thread Chris Robinson
On Friday, June 15, 2012 3:39:33 PM Andrew Eikum wrote: > One thing to note is that PulseAudio has an absurdly high default > latency (two seconds), and due to its poor API there's no (easy) way > for us to control it. The latency is likely caused by PulseAudio setting a much larger tlength (and

Re: [PATCH] winepulse.drv: Add PulseAudio driver

2012-06-11 Thread Alexandre Julliard
Andrew Eikum writes: > There's a lengthy comment in ready_pulse() describing why we're using > pthreads syncro primitives instead of Win32 primitives. I was under > the impression (thanks to the CoreAudio driver, mostly) that threads > not created through CreateThread() cannot use CRITICAL_SECTIO

Re: [PATCH] winepulse.drv: Add PulseAudio driver

2012-06-10 Thread Dmitry Timoshkov
Andrew Eikum wrote: > configure.ac | 31 +- > dlls/mmdevapi/main.c |4 +- > dlls/winepulse.drv/Makefile.in|9 + > dlls/winepulse.drv/mmdevdrv.c | 3216 > + > dlls/winepulse.drv/winepulse.drv.spec