[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] stream tagging at iregular periods of time

From: Marcus Müller
Subject: Re: [Discuss-gnuradio] stream tagging at iregular periods of time
Date: Mon, 02 Mar 2015 13:16:32 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0

Hi Jorge,
tagged stream blocks are a specific architecture built atop of the streaming infrastructure. Not every block that uses tags is a tagged stream block.
TSB's are vastly helpful if you're actually dealin with bursty/packeted data; the difference to vector processing is that these burst can have variable length, and that "normal" blocks, which are unaware of the bursty/PDU nature of the items going through, still work (eg. you can still multiply a tagged stream block stream with the normal multiply_const etc).
If you just want to say "hey, this is the sample where XY happened", no need to convert your block into a tagged stream block.

Now, regarding your question: yes, when using tagged stream blocks, all samples must be part of a burst/PDU that started with a tag describing the PDU's length. Everything else is illegal.

The motivation behind TSBs was to be able to define blocks that care about the bursty/packeted nature of items, whilst the rest could continue to work as it used to.

Best regards,

On 03/02/2015 01:08 PM, Jorge Gallo wrote:



I am a little confused about stream tagging. I read in the documentation that one tag can be appended to any sample in the data stream so it can be something that happens once in a while and it doesn't have to be at regular intervals. That is pretty useful.


Then, when reading about Tagged Stream Blocks it says:


"On the first item of a streamed PDU, there must be a tag with a specific key, which stores the length of the PDU as a PMT integer. If anything else, or no tag, is on this first item, this will cause the flow graph to crash!".


Is it only for the first item or is it PDU after PDU? I mean, a new tag with the key and length must arrive immediately after one whole PDU is completed?

If the answer is “yes” I understand it like a vector streaming. What is the difference? Then, when is stream tagging useful? I don’t get that from the documentation.


What if my custom burst each of them identified with a tag come at non-defined periods of time? Do I have to develop the block as a basic/sync block that read tags of each sample instead and forget about tagged stream blocks?


Many thanks in advance. This is a really good community!




PS: At the beginning I found confusing that a Tagged File Sink is not a Tagged Stream Block given its name but it is only my personal opinion

Discuss-gnuradio mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]