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

Reply via email to