Hi,

thank you for the quick reply. I checked my program again and there was indeed a bug which prevent OSS from working. Though, it's not really OSS what was the problem. The problem was the huge buffer size that OSS causes.

I set a suggested latency of 0.008 (which is what I obtain from defaultLowOutputLatency) and the audio callback get's a framesPerBuffer size of 6000! At 48 kHz that is more than 100 ms of latency. I'm not suggesting that MME is the best solution, but it was able to get something below 50 ms (not sure what defaultLowOutputLatency was with that).

Is there a difference when building portaudio for Cygwin instead of native Windows? Is there a specific reason why MME, DirectSound, WASAPI are not available? Do they cause maintenance overhead?

Am 29.09.2023 um 12:04 schrieb Takashi Yano:
On Fri, 29 Sep 2023 02:12:51 +0200
Michael Panzlaff rote:
Hi,

I got the right mailing list by not writing to cygwin-apps.
Since my last cygwin update (which upgraded portaudio
to 19.20210406-2) the library does not function properly anymore an no
sound playback is possible.

Usually you query portaudio for the various host APIs for and then open
a stream. In the past Cygwin's portaudio at least supported output via
MME. In the latest version 19.20210406-2 this doesn't work anymore. The
only available host API that is reported is OSS, but that doesn't really
exist on Windows I assume. My best guess is that the package isn't
configured correctly and isn't compiled with the correct support for all
the APIs.

I'd be very welcome to get back support for MME. My application is
currently unsuable on Cygwin because the library doesn't work. If it's
just a matter of correctly configuring the package, I'd be interested in
also getting support for the other host APIs that portaudio usually
supports on native Windows, but that's entirely optional for me :)

Now that I checked, even downgrading to an older version of portaudio
from the Cygwin installer doesn't fix the problem. So perhaps it's not
caused by portaudio but from something else in Cygwin. Does anybody have
any ideas?

Best regards
Michael Panzlaff

PS: Here is a sample C code which queries the host APIs and which should
list MME and definitely not OSS:

OSS is implemented in cygwin and it works. 19.20210406-2 switches it backend
to OSS rather than win32apis.

Are there any reason to stick to MME backend?



--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to