Hallo,
Wim Brul and me have made some significant progress in enhancing support for USB based audio:
1) we have fixed quite a few bugs in USBAUDIO.SYS so that finally it will work reliably
2) I have implemented on-the-fly sample rate conversion in an IOProc (USBWAV.DLL) for these conversions:
target:
16-bit signed PCM, stereo, 44100 Hz
source:
8-bit unsigned PCM, mono, 11025 Hz
8-bit unsigned PCM, stereo, 11025 Hz
8-bit unsigned PCM, mono, 22050 Hz
8-bit unsigned PCM, stereo, 22050 Hz
8-bit unsigned PCM, mono, 44100 Hz
8-bit unsigned PCM, stereo, 44100 Hz
16-bit signed PCM, mono, 11025 Hz
16-bit signed PCM, stereo, 11025 Hz
16-bit signed PCM, mono, 22050 Hz
16-bit signed PCM, stereo, 22050 Hz
16-bit signed PCM, mono, 44100 Hz
"on-the-fly" means you no longer have to manually convert audio files to the 16-bit signed PCM, stereo, 44100 Hz target format.
The IOProc will instead do that on the fly when you open an audio file (double click a WAV file under the Workplace Shell for example).
3) additionally I have added Codecs for A-Law and Mu-Law
4) for audio compressed files, I have added support to the IOProc to use any audio codecs that are installed to decompress audio from the compressed format to 16-bit PCM (if a suitable codec can be found)
5) Wim has picked up the functionality in the IOProc as listed in 2) and added the same to USBAUDIO.SYS. This is for those applications that use DART directly and bypass the MMIO file support. An example of direct DART use would be the "libkai" library.
This will greatly improve the usability of USB audio under OS/2. What's left to be done is to also support "48 kHz sampling rate only" USB devices. However that will require additional effort.
Lars