Short story - doing a Lock/Unlock on a HeirBlock2 to reconfigure its internal 
flow graph stops a WavFile_Sink that is in it until a new wav file is opened. 
It doesn’t affect any File_Sinks that are in the graph. If there are multiple 
instances of the HeirBlock2 running, it will stop the WavFile_Sink running in 
all the instances. This didn’t happen in 3.6, but started in 3.7. I have an 
extremely simplified sample program that demonstrates the problem: 
https://github.com/robotastic/multi-wav 
<https://github.com/robotastic/multi-wav>

Long Story - I am recording multiple audio channels from my SDR to capture my 
local fire departments radio system. I have to add and remove multiple 
recorders at different freq offsets to catch the different transmissions as the 
start and stop. To do that I have a bunch of HeirBlock2 based graphs that I 
attach to the source. When they are not being used I lock the block and connect 
the block source to a null sink. When they are needed, I connect all the 
internal blocks together and tune the xlating offset.

The sample program I wrote shows this. It starts up 6 recording blocks. After 
10 seconds it will randomly lock/unlock one of the recording blocks. You will 
see that all of the WavFile_Sinks in each instance of the block stops 
recording. However the file_sinks that are attached inside the Block keep on 
recording fine. You will see the raw file size continue to grow and the wav 
file size stop.

The sample program is in C++. You should be able to download, do ‘cmake .’ and 
then ‘make’ and then ‘./multi-wav’  Then look in the ‘recordings’ directory.

It seems like there is a problem with GnuRadio and HeirBlock Locking in 3.7…. 
or wavfile_sink. Also possible I did something really dumb. Any thoughts?


_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to