I discovered a bug in MprMixer, it doesn't work as a mixer at all, only 
as n:1 multiplexer. I fixed it and my call recording works now (you can 
hear both sides in wav).

Look for this code in MprMixer::doProcessFrame
previously in the for loop it used variable i of the outside loop and 
didn't mix the 2nd input. I changed it to use another variable and it 
works now.

         if (wgt == 1)
         {
            for (int k=0; k<n; k++) // it was for (i=0; i<n; i++) before
                *output++ += (*input++) / mScale;
         }
         else
         {
            for (int k=0; k<n; k++)
                *output++ += (*input++ * wgt) / mScale;
         }

Dont use the same variable in different loops :)

Jaroslav Libak

_______________________________________________
sipxtapi-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipxtapi-dev/

Reply via email to