Jussi Laako <jussi.laako(a)pp.inet.fi> writes:
Does PortAudio support 24/32 bit formats and more than
2 channels or
samplerates over 48 kHz?
All my experience is with my home system, which runs ALSA drivers
using the OSS emulation interfaces. I suspect things would probably
work differently using one of the "real" OSS driver implementations.
One helpful thing you could do would be testing it on a system with a
real OSS driver.
Running this version on my M-Audio Delta-66 card, I see...
Name = /dev/dsp
Max Inputs = 16 Max Outputs = 16
Sample Rates = 48000.00, 44100.00, 32000.00, 24000.00, 22050.00, 16000.00, 11025.00,
8000.00,
Native Sample Formats = paUInt8, paInt16,
If I try to set the sample rate to 88200, it fails...
Pa_SetupDeviceFormat: HW does not support 88200 Hz sample rate
Using the ALSA interface, the same card supports 24-bit in 32-bit and
96 kHz. I don't know whether these differences are due to the driver,
to PA, or to OSS. As I said, running this driver on Linux is very
immature, yet.
Does it do additional buffering?
I don't think so. Should it?
Would you mind
terribly redirecting some of this fine work in the
direction of testing and fixing problems with the PortAudio driver,
instead?
No, depending on how PortAudio is implemented...
Do you mean the JACK driver or the library?
The JACK driver was originally written for MacOSX. The current JACK
driver is a straightforward backport from MacOSX to Linux. That was
easy to do, so I am impressed with the "portable" aspect of PortAudio.
It uses PortAudio version 18, which is the current release level. A
newer version 19 is currently in development but still not supported
on MacOSX (IIUC).
On Linux, PA V18 uses only the OSS drivers. V19 will also support
ALSA and JACK client interfaces. This is helpful for writing portable
applications, but not especially important for the JACK server. We
already have an ALSA driver, and the idea of the JACK server running
as a client of another JACK server is probably only interesting to
mathematicians and computer scientists. ;-)
We would like to use PA V19 too, of course. That would be a useful
patch that someone could contribute. It will continue to be necessary
for some time to support V18 as well. Probably, this should be
conditionally compiled based on checking library function names in
`configure.in'.
--
joq