How does tag propagation work in these 3 cases? Up until now I’ve only
been dealing with tags on streams running at the output rate of a USRP
sink. I’ve stated the assumed answers, but haven’t tested…
gr_sync_block (interpolation by factor L): tag on incoming sample x
will be moved to sample x*L in output stream
gr_sync_block (decimation by factor M): tag on incoming sample x will
be moved to sample FLOOR(x/M) in output stream
gr_block with arbitrary relationship: user has to move tags
him/herself in general_work.
Another question: does the scheduler re-number absolute sample offsets
after every rate-changing block, or does it work backwards from a sink
block all the way to the source block so that absolute offsets are
relative to the output? I can see this getting more hairy when multiple
source and sink blocks are used.