Hi Thomas,

sadly, within the GNU Radio 3.x framework, this isn't possible.

There's one possible "lower effort" solution. Assume you have this


Source -> A -> B -> Sink

where A is the block that currently needs to copy items just to add tags.

We can now do

Source ------> B -> Sink
       \-> A -/^

where B is doing some functionality that you needed anyway. Now, B just gets a second input, that it completely ignores – except for the tags.

A gets modified in that it doesn't copy the input, but simply says "hey, I produced items", without actually producing items; B would ignore them anyways. A, however, adds the tags.

Not quite sure this helps you much...

Best regards,
Marcus

On 25.02.22 17:36, Thomas Lorblanchès wrote:
Hi all,
I have some custom blocks that do not change the samples but only add tags in the output stream. At very high sampling rates, all these "memcpy" operations to copy the input samples to the output stream take a lot of time and put a lot of memory pressure on the system, and are completly useless on an algorithmic point of view.
Is there a clever way to add tags without copying the samples?
Thanks for your answers.
Thomas

Reply via email to