linphone-developers
[Top][All Lists]
Advanced

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

Re: [Linphone-developers] [Q] Differences between 1.0.1 and 1.1.0 ?


From: Clement Chen
Subject: Re: [Linphone-developers] [Q] Differences between 1.0.1 and 1.1.0 ?
Date: Wed, 14 Sep 2005 19:17:50 -0800

Hi, Simon,
    Thanks a lot for your help and comments.The reason I had to add support for G.729 is to help test the capability of a DSP chip installed in the PBX product of my company. *^_^*
    In practice, many SIP phone implementations of G.729 take a 20ms interval to send the RTP packets for simplicity. Besides, many SIP phone implementations allow user to specify the time interval within a range for codecs individually. The longer the time interval, the larger the RTP payload. Maybe it will be taken into account in the roadmap? In my patch, I also use the 320-bytes-to-20-bytes conversion for this 20ms interval of linphone instead of 160-bytes-to-10-bytes for 10ms interval, and it DOES work with Linphone-1.0.1.
    However, compiling the same code with Linphone-1.1.0 makes the output RTP packets quite different and consequently the voice quality became wierd too. That's why I asked the question because since my patch is a codec plugin, there seems no reason to make it behave differently between the two versions. So I wondered perhaps some new compile option(s) made the consequence, and asked if someone could help...^^;; And, in order to make things clear, I provided the patch FYI. (The patch itself contains no propietary libraries and does not violate GPL. But if you wanted it to work, you had to provide libraries with relevant APIs.) I totally agreed of not merging it into the CVS because it's not a complete solution.
    So, would you mind commenting about the differences between 1.0.1 and 1.1.0 that may let APIs in an external library behave differently? (i.e., definition of "float" changes?)
Thanks,
 
Clement.


 
On 9/14/05, Simon Morlat <address@hidden> wrote:
Hi,

I had problems with g729 because it uses 10 ms frames, while the mediastreamer
timer ticks every 20 ms. I solved the problem by setting the timer at 10 m,
in mstimer.c at the begginning of the file:
       MS_SYNC(sync)->samples_per_tick=80;
       ms_timer_set_interval(sync,10);
and it works.
Try that.
Remember that linking linphone to a proprietary library is something
"dangerous", the GPL isn't compatible with such proprietary softwares.
As I do not encourage people to do that, I will not merge your patch into the
main tree.
However in 1.2.0 branch I 've added a plugin mechanism, every library in
$prefix/lib/linphone/mediastreamer/plugins/ will be loaded by linphone at
startup. This makes easier the possibility to distribute plugins for linphone
that add new codecs, new sound support (esd, artsd ?).

People can also use this to try non-free plugins that link to proprieraty and
patented libraries, I'll not sue people for that, but remember this is
illegal.

I prefer encouraging people and companies to throw away all those G.72* stuff
and prefer gsm, speex or ilbc.

Simon


Le Mardi 13 Septembre 2005 11:54, Clement Chen a écrit:
> Hi,
>  Recently I added G.729A support for linphone-1.0.1 taking advantage of
> ITU's G.729 anex C (floating-point) implementation.
> I compiled both the coder and decoder as ".so" shared library files, and
> then wrote the wrappers like what others (ulaw, alaw, etc.) look. In the
> wrapper, I use "dlopen", "dlsym", and "dlclose" APIs to utilize those APIs
> in the shared libraries. Verifying the results with other phones that
> support G.729, it does work well.
>   Since this patch is quite clean and simple, I tried to apply it to the
> latest linphone-1.1.0 package. Although linphone was compiled successfully,
> I soon found that the voice quality of G.729 with 1.1.0 package became
> wierd. Checking the RTP packets, I was surprised that the RTP payloads
> generated by 1.1.0 differed from those generated by 1.0.1 with the same raw
> .wav file (hello8000.wav).
>   It seems changes from 1.0.1 to 1.1.0 result to such differences, but I
> have no idea what can be wrong. Maybe the new compile options ?
>   Attached is my patch for the codec support for 1.1.0 without those shared
> libraries. (For 1.0.1, avprofile.c requires extensions for this codec)
>  BTW, ms OS is RedHat Linux FC3 (2.6.9-1.667)
>   Any comment is appreciated and welcome. *^_^*
>  Thanks,
>  Clement.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]