|
From: | Tom Rondeau |
Subject: | Re: [Discuss-gnuradio] Possible bug in keep_m_in_n and patch |
Date: | Thu, 25 Sep 2014 10:58:14 -0400 |
Zhe,To follow up on Martin's point. First, yes, please either use the Issue tracker or submit a patch/pull request via git and github.Also, just pointing out a bug is one thing, but it's also much easier for us to test and verify if you provide us with an example file.That having been said, yes, I think your patch is correct. The current behavior does not produce the wrong answer, but it's wasting a ton of computation time.Please send a patch.TomOn Wed, Sep 24, 2014 at 3:49 PM, Martin Braun <address@hidden> wrote:No comment on the patch, but in general, it helps us a lot if you do this via github & pull request.
MDear all,
I checked the keep_m_in_n block and found a possible bug in it. In the
work function, the code wrote:
consume_each(d_n);
return d_m;
which I think it should be
consume_each(blks*d_n);
return blks*d_m.
while blks=std::min(noutput_items/d_m, ninput_items[0]/d_n).
Since both m and n of the block might change, which means the output to
input rate might change. I changed the set_output_multiple(m) to
set_relative_rate(d_n/d_m). And we made the set_relative_rate(d_n/d_m)
be called in the set_m and set_n function to make sure the rate is
updated on time.
The patch is attached. Could you check it?
Thanks!
Best,
Zhe
[Prev in Thread] | Current Thread | [Next in Thread] |