Gyannea
February 24th, 2003, 07:38 AM
Two questions about the Windows Sound System:
In DOS, double buffering the sound card had a limit on the buffer size due to the 64K limit of the DMA. In Windows, you set up your sound system giving it sample rate, channels, bits, etc., as well as creating buffers (two for double buffering). When the received samples fills one buffer, a message is received, you handle the data and the sound card fills the other buffer. It was these buffers that were limite in size due to the DMA. How about in Windows? I find no mention on the limit of the size of these buffers in books like Petzold, etc.
Maybe there isn't a limit, but that limit is hidden by the system but practice, it's more efficient to keep the buffer sizes within the DMA transfer limits as one did in DOS. Does anyone know the answer to this?
Here's another goodie:
Is there a way to use the two channels of a sound card as two independent mono channels?
Now clearly one can do this, but when one records (or playsback) stereo, the data for each channel is stored every other byte. I was wondering if one could set up a mono double buffering system for each channel (same sampling rate, of course) without eventually having to combine the data into interlaced stereo?
Thanks for any insight into how this really works!
In DOS, double buffering the sound card had a limit on the buffer size due to the 64K limit of the DMA. In Windows, you set up your sound system giving it sample rate, channels, bits, etc., as well as creating buffers (two for double buffering). When the received samples fills one buffer, a message is received, you handle the data and the sound card fills the other buffer. It was these buffers that were limite in size due to the DMA. How about in Windows? I find no mention on the limit of the size of these buffers in books like Petzold, etc.
Maybe there isn't a limit, but that limit is hidden by the system but practice, it's more efficient to keep the buffer sizes within the DMA transfer limits as one did in DOS. Does anyone know the answer to this?
Here's another goodie:
Is there a way to use the two channels of a sound card as two independent mono channels?
Now clearly one can do this, but when one records (or playsback) stereo, the data for each channel is stored every other byte. I was wondering if one could set up a mono double buffering system for each channel (same sampling rate, of course) without eventually having to combine the data into interlaced stereo?
Thanks for any insight into how this really works!