On Fri, Mar 05, 2010 at 06:34:48PM -0800, Eric Blossom wrote: > On Fri, Mar 05, 2010 at 04:26:34PM +0100, Mattias Kjellsson wrote: > > Mattias Kjellsson wrote: > > > Tom Rondeau wrote: > > > > > Sorry, I just saw that I wrote the last message off- list. > > > > Anyway, I have searched some more in the causes of this error. I took > > the easy way out and looked in gr_buffer.h at line 127. and Changed this: > > Approximately around lines 115->130 in gr_buffer.h > > unsigned index_add (unsigned a, unsigned b){ > > unsigned s = a + b; > > /*if (s >= d_bufsize) > > s -= d_bufsize;*/ > > while(s>=d_bufsize){ > > s-=d_bufsize; > > } > > assert (s < d_bufsize); > > return s; > > } > > > > I assume this is not the way to do this, but it gets rid of the error- > > message... But since I have changed in the library to make this specific > > block not produce an error... It just seems like doing things backwards. > > But then again, this code- change assures that s<d_bufsize, but is it > > always correct to do this? I guess not, but I'm not sure. > > index_add is correct as originally written. > > I suspect that pfb_clock_sync_ccf has a problem in it. > > It looks like it only works if the number of output streams is 1 or 4, > but not 2 or 3. It needs to override check_topology to enforce this. > > The two occurences of: > > if(output_items.size() > 2) { > ... > } > > should probably be changed to: if (output_items.size() == 4) > > It also looks like it's leaking d_diff_filters (should delete in the > destructor).
Mattias, I've just committed a fix to master for the items I describe above. When you get a chance, can you please update and try your test again? Thanks! Eric _______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio