portaudio: only OSS host API available since version 19.20210406-2

Michael Panzlaff michael.panzlaff@fau.de
Fri Sep 29 23:12:22 GMT 2023


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?
> 



More information about the Cygwin mailing list