I am working on a gnuradio application which takes feeds from other
sources over Ethernet. There is a possibility that the source will be
disconnected occasionally due to intermittent network failures, when
that happens I'd like the audio to go silent, and come back when the
source is reconnected. In short, I'd like it to behave like an analogue
audio connection :-) UDP looks like the closest option to that, so
that's what I've tried so far.
I currently connect the UDP blocks with something like
udp_in = gr.udp_source((gr.sizeof_float*1), "0.0.0.0", 1234, 1472, True,
True)
and then connect them into the flowgraph.
I have tried various options (all 4!) of the Boolean settings for Wait
for data and empty packet = EOF, but it doesn't seem to do what I need.
At best (with the above settings), the flowgraph pauses when the UDP is
disconnected, so all the local sources which are still connected buffer
up, resulting in long delays when the UDP comes back.
Is it possible to get 'analogue-like' performance from a network socket
connection, if so how should I do that within gnuradio? Is there
something clever I can do with Throttle or Valve or something which will
decouple loss of a UDP audio stream from the rest of the flowgraph?
Thanks,
Nigel
|