   Multiple clocks on soundcards?
  Do soundcards have two different clocks to run the ADC and DAC?I have a Soundblaster Live and send out a steady 1800 Hz signal using DirectSound.  At the same time I receive the signal using DirectSoundCapture.  The Soundblaster has a mixer option for recording called "What you hear" so the signal sent is not only heard on the speakers but transferred into the capture buffer (I assume that happens before the ADC so the output analog sound goes into the analog input.In any case, I display both signals at arbitrary sampling rates. The output signal is choosen such that it has an even number of periods in the display. In theory, I display the received wave in an identical fashion, so they should appear identical.The output wave is steady, but for most sample rates, the input waves moves suggesting a timing difference.Now I record and send in the same thread.  I use the capture buffer with notifications every x bytes as my "timer". When the notification is received, I read x bytes and then send x bytes. But for most sampling rates, the playback buffer sends the data slightly faster or slower than the capture buffer receives. I check with ->GetCurrentPosition() and if the safewrite position gets to close to my write pointer, I make an extra load of x bytes and flash the send screen. If it gets to far, I skip the load and flash the receive screen.Now since the sample rates are identical for both, this stuff should never happen.  But I have only found a few sample rates (so far) where the timing appears identical. Multiples of 8000 Hz are VERY close and 44100 Hz.  22050 also seems to produce a nearly steady wave in the receive screen I see flashes in both screens.Does anyone know anything about this?  I am wondering if these samples rates that don''t produce the expected response are also missing beats. Hard to tell when so much data comes by so fast.Brian 