I'm prototyping some software which uses a PulseAudio sink/source pair
which I wrote[1]. Even doing something as simple as having the audio source
go into a GUI sink and the audio sink, I'm having an issue where as the
program runs longer, the latency gets higher. Running for a day the latency
will grow to many seconds. This causes issues for the external program
generating and receiving the baseband signal, which is unaware of this
latency.

I best guess of what's going on is this: the source block is connected to a
PulseAudio monitor device. I do this so the audio output of other
applications I'm running can be routed into GnuRadio's input. The same
audio device is associated with the sink and source, so the clocks are
normally synchronized. But as those other applications open and close the
audio device, gaps are introduced into the monitor device, requiring
GnuRadio's buffers to grow as the clock (temporarily) drift apart.

So two questions:

1) Is there a way I can inspect the buffer sizes within GnuRadio to confirm
my hypothesis?

2) Assuming that's what's going on, is there an adjustment I can make
(perhaps to the flow graph, or to the PulseAudio blocks) to drop samples
instead of buffering?

[1]: https://github.com/bitglue/gr-pulseaudio
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to