[op25-dev] Re: p25_frame_assembler performance problems
op25-dev at yahoogroups.com
Mon Feb 22 15:47:09 UTC 2016
That's a pretty significant find you have brought up. I concur on the dramatic performance increase seen on your end. This has a side effect on my end though. There are gaps in between each voice packet during the calls, which is causing constant audio underruns. So this isn't good for me. I'll have to play around with it more to find a cure.
However, when using the logfile workers, there are no gaps in the wav audio. This is kind of a big deal if this is how you use OP25. I can run 6 concurrent workers quite easily on an ancient Intel Q6600 "quad".
Thanks for bringing this up!
This is how I modified the function:
p25_frame_assembler_impl::forecast(int nof_output_items, gr_vector_int &nof_input_items_reqd)
// for do_imbe=false: we output packed bytes (4:1 ratio)
// for do_imbe=true: input rate= 4800, output rate= 1600 = 32 * 50 (3:1)
// for do_audio_output: output rate=8000 (ratio 0.6:1)
const size_t nof_inputs = nof_input_items_reqd.size();
int nof_samples_reqd = nof_samples_reqd = (int)ceil(4.0f * float(nof_output_items));
nof_samples_reqd = (int)ceil(3.0f * float(nof_output_items));
nof_samples_reqd = (int)ceil(0.6f * float(nof_output_items));
std::fill(&nof_input_items_reqd, &nof_input_items_reqd[nof_inputs], nof_samples_reqd);
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the op25-dev