On Thu, May 12, 2016 at 9:18 AM, Marcus Müller <[email protected]>
wrote:


> Yeah, like the head block, it's a copying operation. But that's
> "relatively cheap".
> I'm not quite sure about the state of this, but at GRCON '14 work was
> started on letting blocks define where their buffers are – maybe, one day,
> as a side effect, we can actually use the same buffers for in- and output
> and get rid of the copying.
>

It probably should be the subject of another thread, but one of the deep
underlying philosophies of GNU Radio design is that blocks can't side
effect each other except through really strictly controlled, well-defined
ways.  This includes not being able to modify their upstream block's output
buffer, as potentially many other blocks are also reading that upstream
output buffer.  (There are no "input buffers" in GNU Radio, only input
ports that maintain a read point to upstream-owned memory.)

We do have a branch that was developed by Doug Geiger that allows blocks to
provide their own memory for their output buffer, or to provide their own
memory to an upstream block for it's output buffer.  This was spec'd and
written to support custom hardware that could only work on it's own
physical pages or had DMA restrictions or some other constraint.  However,
it still maintains the idea that you cannot modify the contents of an
upstream block's output buffer.

-Johnathan
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to