Hi Luke,

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!

-Scott

This is how I modified the function:

void
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));
   if (d_do_imbe)
     nof_samples_reqd = (int)ceil(3.0f * float(nof_output_items));
   if (d_do_audio_output)
       nof_samples_reqd = (int)ceil(0.6f * float(nof_output_items));

   std::fill(&nof_input_items_reqd[0], &nof_input_items_reqd[nof_inputs], nof_samples_reqd);
}




__._,_.___

Posted by: verymetl@hotmail.com
Reply via web post Reply to sender Reply to group Start a New Topic Messages in this topic (3)

.

__,_._,___