You can safely call produce() and consume() multiple times in the same work() call: yes!
Note that by doing so, if you're using the nitems_written() or nitems_read() [e.g., for finding or writing tags], then those values will be updated when you call produce() and consume() -BUT- inside the work() method of your block, you will have to keep track of the I/O data pointers yourself. Hope this helps! - MLD On Sun, Nov 19, 2017, at 11:37 AM, schneider wrote: > On 19/11/17 17:22, rear1019 wrote: > > > I have a question regarding the usage of produce() and consume(): Is it > > safe to call these functions multiple times? Or must the calls be > > merged into a single one? > > consume() in the end calls buffer_reader::update_read_pointer(int > nitems) which again calls index_add() > > Looking at the code I'd say consume(a+b) is equivalent to consume(a) + > consume(b). > > You can find the source for these things in the gnuradio-runtime/ > directory. It is pretty straight forward code. I'll leave produce() as > an exercise for you ;) _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/listinfo/discuss-gnuradio