Saturday, August 30, 2014

Re: [Discuss-gnuradio] Question about ZeroMQ Sub source

Setting max number of output items in both graphs seems to help this.


On Sun, Aug 31, 2014 at 3:12 AM, Vanush Vaswani <vanush@gmail.com> wrote:
I've got a question relating to the zmq sub source.
I've got a flowgraph that has rtlsdr -> pub sink

In another graph, I decode FM radio using WBFM receive.
I noticed that it sounds horrible and choppy (sped up).
I looked in the code of the sub source, and saw this

            // Copy to output buffer and return
            if (msg.size() >= d_itemsize*noutput_items)
            {
                memcpy(out, (void *) msg.data(), d_itemsize*noutput_items);
                return noutput_items;
            } else
            {
                memcpy(out, (void *) msg.data(), msg.size());
                return msg.size() / (d_itemsize);
            }

Does this mean that if the message size is greater then the number of items requested by scheduler * item size (e.g. complex = 8), the rest of the message is simply dropped?

This is probably the reason for the choppy audio. How can a situation like this be avoided?

No comments:

Post a Comment