[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] Can a tagged stream block be a source block?
From: |
Nowlan, Sean |
Subject: |
Re: [Discuss-gnuradio] Can a tagged stream block be a source block? |
Date: |
Thu, 4 Dec 2014 21:23:47 +0000 |
>On 12/04/2014 04:08 PM, Martin Braun wrote:
>> Actually, it's probably something I should fix before people start
>> writing tags by hand. David, until I have that ready you should change
>> that offending line to:
>>
>> 102 if(!d_n_input_items_reqd.empty() && d_n_input_items_reqd[0] ==
>> 0) { // Otherwise, it's already set from a previous call
>>
>> parse_length_tags() will then never be called.
>> calculate_output_stream_length() however should return a valid length.
>
>This was actually simpler than expected:
>https://github.com/mbr0wn/gnuradio/tree/tsb/allow_source
>
>I also put an example in there (see the 2nd commit).
>
Just to understand the implications of this change to pdu_to_tagged stream, max
input PDU size is now effectively constrained by the max buffer size that can
be handled by the scheduler and passed to work(). Correct? That may not be a
limitation for many people, and I suppose it would have surfaced before if
someone tried to send a larger PDU into a pdu_to_tagged_stream block connected
to a downstream tsb-derived block.
I guess the upside is that now you only need one call to work() per PDU and you
don't need an internal buffer and a stateful work() to push a PDU through.
Sean
>Cheers,
>M