Conference bridge improvement

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
I did small modifications to the conference get_frame function (the
function where the main mixing work is done)

* mod 1: remove the redundant loop at the beginning (trivial)
* mod 2: In most call setups there exist conference ports that have only
one port transmitting to it-
               i.e.:  conference with 10 peers : only the audio device port
has more than one port transmitting to it
               ==> in the current implementation the mix level adjustment +
calculation is done for every port
               ==> my simple modification: for ports with only 1
transmitter just copy the samples to the mix buffer
                        the level adjustment is not needed (no addition of
16 bit values -> no overrun possible) and also
                        the initial filling of the mix buffer with 0s is
unnecessary

               so in the example above the mixing step is reduced to just
copying the samples for 10 of 11 ports.

I hope this patch can help. It is a really simple change but can help to
reduce the cpu load.


The diff is against pjsip 2.0's conference.c

Mike
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20120601/43a6fad8/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: conference.c.diff
Type: application/octet-stream
Size: 3268 bytes
Desc: not available
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20120601/43a6fad8/attachment.diff>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux