Help needed with Conference Bridge performances on uclinux-nios2

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

 



Hi Benny and all,

I'm still stucked to the project make problems above mentioned.
My understanding is that to build the project I should follow building 
step explained here (http://trac.pjsip.org/repos/wiki/APS).
Given that I'm not developing on Symbian I would like to know if there 
is a workaround to enable the Conference Switch and Passthrough Codecs 
features without using Symbian related libraries and software.

Thanks a lot,
Fabio

Fabio Cherchi ha scritto:
> Hi Benny,
>
> thanks a lot for the suggestion. You are right, the APS-Direct feature 
> seems fitting the purposes of my application.
>
> At the moment I've some issue with building the pjproject.
> Basically, following instructions I prepared a config_site.h with the 
> following flags:
>
>     #define PJMEDIA_CONF_USE_SWITCH_BOARD     1
>
>     #define PJMEDIA_AUDIO_DEV_HAS_PORTAUDIO   0
>     #define PJMEDIA_AUDIO_DEV_HAS_SYMB_APS    1
>
>     #define PJMEDIA_HAS_PASSTHROUGH_CODECS    1
>
>     /* Only PCMA will be supported */
>     #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU    0
>     #define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA    1
>     #define PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR     0
>     #define PJMEDIA_HAS_PASSTHROUGH_CODEC_G729    0
>     #define PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC    0
>
>     #   define PJMEDIA_HAS_G711_CODEC       0
>     #   define PJMEDIA_HAS_L16_CODEC        0
>     #   define PJMEDIA_HAS_ILBC_CODEC       0
>     #   define PJMEDIA_HAS_G722_CODEC       0
>     #   define PJMEDIA_HAS_GSM_CODEC        0
>     #   define PJMEDIA_HAS_SPEEX_CODEC      0
>
> But during "make" I got the following errors:
>
> gcc -o ../bin/pjmedia-test-i686-pc-linux-gnu \
>          output/pjmedia-test-i686-pc-linux-gnu/codec_vectors.o  
> output/pjmedia-test-i686-pc-linux-gnu/jbuf_test.o  
> output/pjmedia-test-i686-pc-linux-gnu/main.o  
> output/pjmedia-test-i686-pc-linux-gnu/mips_test.o  
> output/pjmedia-test-i686-pc-linux-gnu/rtp_test.o  
> output/pjmedia-test-i686-pc-linux-gnu/test.o  
> output/pjmedia-test-i686-pc-linux-gnu/sdp_neg_test.o 
> ../lib/libpjmedia-i686-pc-linux-gnu.a 
> ../lib/libpjmedia-audiodev-i686-pc-linux-gnu.a 
> ../lib/libpjmedia-codec-i686-pc-linux-gnu.a 
> /home/fabioc/SIP/pjproject-1.2/pjproject-1.2/pjlib/lib/libpj-i686-pc-linux-gnu.a 
> /home/fabioc/SIP/pjproject-1.2/pjproject-1.2/pjlib-util/lib/libpjlib-util-i686-pc-linux-gnu.a 
> /home/fabioc/SIP/pjproject-1.2/pjproject-1.2/pjnath/lib/libpjnath-i686-pc-linux-gnu.a 
> -L/home/fabioc/SIP/pjproject-1.2/pjproject-1.2/third_party/lib 
> -lresample-i686-pc-linux-gnu -lmilenage-i686-pc-linux-gnu 
> -lsrtp-i686-pc-linux-gnu -lgsmcodec-i686-pc-linux-gnu 
> -lspeex-i686-pc-linux-gnu -lilbccodec-i686-pc-linux-gnu 
> -lg7221codec-i686-pc-linux-gnu -lportaudio-i686-pc-linux-gnu  -lm 
> -lnsl -lrt -lpthread    
> ../lib/libpjmedia-audiodev-i686-pc-linux-gnu.a(audiodev.o): In 
> function `pjmedia_aud_subsys_init':
> audiodev.c:(.text+0x2c3): undefined reference to `pjmedia_aps_factory'
> collect2: ld returned 1 exit status
> make[2]: *** [../bin/pjmedia-test-i686-pc-linux-gnu] Error 1
> make[2]: Leaving directory 
> `/home/fabioc/SIP/pjproject-1.2/pjproject-1.2/pjmedia/build'
> make[1]: *** [pjmedia-test] Error 2
> make[1]: Leaving directory 
> `/home/fabioc/SIP/pjproject-1.2/pjproject-1.2/pjmedia/build'
> make: *** [all] Error 1
>
> Do you have idea what's wrong in my setup?
>
> Thanks a lot,
> Fabio
>
> Benny Prijono ha scritto:
>> Hi Fabio,
>>
>> We probably have a solution for you. So your sound devices already 
>> provide encoded (PCMA) frames, this is actually similar to how 
>> APS-Direct work! Basically APS-Direct is a feature (by means of 
>> config tweaks) to utilize APS sound device in Nokia handsets, which 
>> already provides encoded G.729/iLBC/AMR/G.711 codecs.
>>
>> Please see http://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct for 
>> more info, and get back here if there's anything unclear. As a bit of 
>> hint, pjsua should work more or less as usual when APS-Direct is 
>> enabled, though obviously we will loose the conferencing feature.
>>
>> Though the drawback of using APS-Direct approach is you won't be able 
>> to use many (if not most) PJMEDIA features, since PJMEDIA mostly 
>> works on PCM frames. But this may be your objective in the first 
>> place, as you wanted as less processing as possible. So depending on 
>> how you code your application (especially the part to handle multiple 
>> sound devices), there may be some design changes required.
>>
>> cheers
>>  Benny
>>
>>
>> On Sat, May 23, 2009 at 4:17 PM, Fabio Cherchi 
>> <fabio.cherchi at yahoo.it <mailto:fabio.cherchi at yahoo.it>> wrote:
>>
>>     Hi Benny and all,
>>
>>     I'm developing an application running on uclinux-nios2 (85MHz)
>>     which simply starts and stops multiple RTP streams from 16
>>     different custom audio devices (not defined as sounds ports)
>>     which provide PCMA already coded samples.
>>
>>     In my first approach I used the conf bridge to connect each
>>     stream to a custom pjmedia_port, but after the 5th-6th connection
>>     the cpu performance becomes poor and the timing gap between each
>>     put_frame (same for get_frame) becomes larger than 20ms (my frame
>>     length).
>>
>>     I'm doing some check where I can improve the performance (I've
>>     already applied Benny's suggestions about that on:
>>     http://trac.pjsip.org/repos/wiki/FAQ#Performance).
>>     First of all, I've already coded pcma samples, but the conf
>>     bridge works only with L16 samples, so I need to do a double
>>     conversion before the streaming.
>>     Second, the CPU usage shows very high values when I'm adding a
>>     new call to the conf bridge.
>>
>>     I'm evaluating a different approach based on creating a different
>>     master port for each call to directly connect the custom ports to
>>     the streams and also I would like to use the pcma passthrough codec.
>>     Do you think this would help to improve performances?
>>     Is it possible that multiple master ports could have some timing
>>     conflicts if running in the same application?
>>
>>     Any suggestion will be very appreciated.
>>
>>     Thanks,
>>     Fabio
>>
>>     _______________________________________________
>>     Visit our blog: http://blog.pjsip.org
>>
>>     pjsip mailing list
>>     pjsip at lists.pjsip.org <mailto:pjsip at lists.pjsip.org>
>>     http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Visit our blog: http://blog.pjsip.org
>>
>> pjsip mailing list
>> pjsip at lists.pjsip.org
>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>   
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20090525/182d4a1d/attachment-0001.html>


[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