I was wondering if someone could perhaps clarify how the gr_message_sink works . I'm trying to make a modified version of the fft_sink. I noticed that the sample stream is turned into a vector streasm and then sent to a message sink.
When the data is unpacked from the messages, then it seems there are a varying number of fft frames in each message. How does this happen? Why isn't there only one frame per message?
Also, what exactly are msg.arg(1) and msg.arg(2). Are they part of the message payload or part a special frame? Lastly, what does self.msgq.delete_head() do?