I should reiterate the problem, just to make sure everyone understands what is happening. When you use two audio devices with different clocks, one will inevitably run faster than the other. The result is that over time, be it minutes, hours, or days, you will either develop a lag in processing and fill up your buffers until you run out of space, or you will go to your input device for samples and there will be less than you expect or none.
Your software must handle this, unless you have custom hardware like SDR1000 where all of the audio devices all run off of one clock. It must deal with both over-runs and under-runs. Until you do this, using two audio devices means that at some point, be it minutes, hours, or days, your software will break. Handling output overruns means that you will throw away some samples once in a while to resynchronize. If you can tell when your output device is still processing samples when it should not be, you can do this gracefully so that nobody will hear it by throwing away every 100th output sample or something similar. Handling input underruns is similar. If you can tell it's happening, you can duplicate every 100th input sample to get a longer input buffer, or something similar. Of course you can get fancy and interpolate. If you can't tell what your device is doing until a read or write fails, you have to throw away a whole buffer and this will result in a click. Thanks Bruce On Sun, Feb 17, 2019 at 12:34 PM Erich Heinzle <a1039...@gmail.com> wrote: > The PCM290x family of audio chipsets has been popular for homebrew usb SDR > interfaces, and also has stereo in, unlike some of the cheap usb sound card > dongles > > https://github.com/erichVK5/PCM290x-USB-audio-interface > > Regards, > > Erich > VK5HSE > _______________________________________________ > Freetel-codec2 mailing list > Freetel-codec2@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freetel-codec2 >
_______________________________________________ Freetel-codec2 mailing list Freetel-codec2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freetel-codec2