Changing Flowgraph at runtime

Hello everyone,

Does anyone know if it’s possible create and destroy blocks at runtime?

I know we can reconnect the blocks at runtime [lock(), reconnect,
unlock()], but
I don’t know if you can create or destroy…

Thanks.

You can :slight_smile:

Ok,

The creation and destruction of blocks at runtime must be made ​​between
lock() and unlock(). Is it right?
How can I destroy a block at runtime? block->stop()?
Do I also need a reset() in sptr [block.reset()]?

Thanks again!

2014-08-06 9:09 GMT-03:00 Marcus Müller [email protected]:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Destruction of course should only take place when a block is not
connected, and connection can only take place between lock() and
unlock(). Other than that, I’m not aware of any restrictions.

On 06.08.2014 14:42, Douglas Amorim Ferreira wrote:

2014-08-06 9:09 GMT-03:00 Marcus M.

runtime?
_______________________________________________ Discuss-gnuradio
mailing

[email protected]://lists.gnu.org/mailman/listinfo/discuss-gnuradio


Discuss-gnuradio Info Page

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJT4iSFAAoJEAFxB7BbsDrLngYH/1V2h/mSJZYD9YAa6HlOI1IL
dkl1jQ4v0IyztZGi4N0D7GmS0sUQu1+2NMkJt18ClOVUyMHB8uQmS6PGtycxyxkw
b4OZG5oqkP96ThfwHQEbatwL8EP+igMQ+wEHvxG6kFzW6kkJcqYPqOsj+hbDrOOG
L1RrFks3S4Mo2E6luUil2LL7ttkSpbc4MrlFYhwNgJ9mnD57ycyS1wkmIhEpmImV
7qgts2kqtQdhIGDyb1vZIdTjawXPZ465GmsCkJ/udkyzbeq+wVWBPnwLZRh/3YYR
M+i2s1HT0eaBFNYfvptl0lGzpANwqUirzMGVItwBXaG2S8s9VNWLAvzKADN0RKE=
=u37z
-----END PGP SIGNATURE-----

I think Sylvain put his finger on a slightly painful place here:
I think you might not be very clear about the idea what “destruction of
a block” actually means.
So, the most interesting question here is:
Why would you manually want to destroy a block?

Greetings,
Marcus

The creation and destruction of blocks at runtime must be made between
lock() and unlock(). Is it right?
How can I destroy a block at runtime? block->stop()?
Do I also need a reset() in sptr [block.reset()]?

Well, you never really destroy blocks yourself since all you get is
sptr.

So once it’s disconnected and you “loose” the last sptr you have to
it, then it should get deleted.

Cheers,

Sylvain

Well,

I have a signal and I want to get some information from it.
I want to create demodulators and filters at runtime, and so they are no
longer needed, remove them (and freeing any resources associated with
them).
I’m having problems with an example that I am implementing.

Initially I have two blocks connected:

Audio source ----> Audio sink
At runtime I’m adding new branches:

Audio source ----> Audio sink
|—> Some block ----> Null sink
|—> Some block ----> Null sink
.
.
|—> Some block ----> Null sink

After adding 100 new branches, I remove all of them returning the
initial
topology. (Audio source ----> Audio sink)

These additions and removals occur cyclically…

The strange thing is that after a few cycles, the audio starts to get
delayed (occurring some audio underflow).

My big question is: this audio delay is related to the creation and
removal of
blocks or not?

Any suggestion?

Thanks again, and again!

2014-08-06 10:16 GMT-03:00 Marcus Müller [email protected]:

Sorry for the spam,
Fixing: occurring some audio underrun…

2014-08-06 11:23 GMT-03:00 Douglas Amorim Ferreira
[email protected]: