linphone-developers
[Top][All Lists]
Advanced

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

Re: [Linphone-developers] Linphone and G.722 Wideband codec


From: menno
Subject: Re: [Linphone-developers] Linphone and G.722 Wideband codec
Date: Thu, 5 Aug 2010 08:38:31 +0200
User-agent: SquirrelMail/1.4.18

Hi Simon and others,

I test now with the plugin on a ARM device (plug box, ARM 1Ghz)
incombination with Asterisk (confbridge). On the other side i've a normal
i586 machine. Compiling on the ARM works ok!

But there is a problem with the audio. The microphone on the ARM device to
the normal i586 machine (with asterisk/confbridge) works well. Everything
what you say in the microphone on the ARM device is clear on the other
side (the linux i586 machine).
But the audio is choppy (hikups) when you say something on the microphone
input on the i586 machine to the ARM device. The processor on the ARM
device use 5%/10% of the full processor power or lower. With other codecs
ALAW/ULAW works it fine (on 2 sides).

Both sides linphone (on arm & i586 machine)
ARM mic input > Asterisk/confbridge > i586 headphone out > works OK
i586 mic in  > Asterisk/confbridge > ARM headphone out > Choppy audio

Is there an decoding problem on ARM devices or something?

Regards,
Menno


> Ok, I think now everything should work correctly! Try out the plugin if
> you want to!
> The needed patches for Linphone are:
>
> sed -i 's|pt->clock_rate=atoi(p);|pt->clock_rate =
> (!strcasecmp(mime,"G722") ? 16000 : atoi(p));|'
> coreapi/sal_eXosip2_sdp.c
>
> sed -i 's|char attr\[256\];|char attr\[256\]; int clock_rate = (
> !strcasecmp(pt->mime_type,"g722") ?
> 8000 : 16000 );|' coreapi/sal_eXosip2_sdp.c
>
> sed -i 's|    pt->mime_type, pt->clock_rate|pt->mime_type, clock_rate|'
> coreapi/sal_eXosip2_sdp.c
>
> But everything you need is in the repository!
>
> Greetings,
> -Simon.
>
>
>
> Simon Brenner wrote:
>> Hey everyone,
>>
>> I've come a step further in developing the G.722 plugin. It's working
>> for me now at least for
>> incoming calls!
>>
>> If you want to try it, download and build the repository:
>> http://bitbucket.org/herrpi/msg722
>>
>> Here's a direct link to the latest version:
>> http://bitbucket.org/herrpi/msg722/get/v0.6.tar.gz
>>
>> There's only one thing that I have to patch in Linphone. I do that in a
>> script file which is also to
>> find in the repo.
>>
>> Maybe this is something that has to be changed by some Linphone
>> developer that has the rights to do
>> that...
>>
>> In coreapi/sal_eXosip2_sdp.c, I have to change the line:
>>
>> pt->clock_rate=atoi(p);
>>
>> to
>>
>> pt->clock_rate = (!strcasecmp(mime,"G722") ? 16000 : atoi(p));
>>
>> in order for the plugin to work. I guess this has to do with this
>> strange historical error in the
>> definition of the RTP payload stuff of G.722...
>>
>> So please try it out and tell me whether everything is alright.
>> I'm continuing to find a solution for outgoing calls.
>>
>> Greetings,
>> -Simon.
>>
>>
>>
>> Simon Brenner wrote:
>>> I just created a separate repository for developing a G.722 linphone
>>> plugin.
>>> Have a look at
>>> http://bitbucket.org/herrpi/msg722
>>>
>>> It doesn't run yet but I hope to get it right with your help! You can
>>> configure and compile it the
>>> usual way:
>>>
>>> ./autogen.sh
>>> ./configure
>>> make
>>> make install (as root)
>>>
>>> Or directly download a tar.gz:
>>> http://bitbucket.org/herrpi/msg722/get/v0.1.tar.gz
>>>
>>> I think there's not much left to do but don't know what yet... The
>>> plugin is already loaded at
>>> linphone startup but isn't shown in the codec list...
>>>
>>> -Simon.
>>>
>>>
>>>
>>> Simon Brenner wrote:
>>>> Wait a minute, I think we also have do differentiate between this as a
>>>> buit-in codec or a plugin
>>>> codec, haven't we?
>>>> If we have it as a plugin it has to be compiled as a kind of own
>>>> project which results in a .so / .a
>>>> library being copied / installed to a possible Linphone plugin folder.
>>>> If we have it as a built-in codec there are all those steps to be done
>>>> that you've already named.
>>>>
>>>> So what do we have?
>>>>
>>>> -Simon.
>>>>
>>>>
>>>>
>>>> menno wrote:
>>>>> Hello Everyone,
>>>>>
>>>>> I can't compile it succesfully. I add the c files to the
>>>>> mediastreamer2/src/Makefile.am , but after configure he don't compile
>>>>> the
>>>>> all the g722 C files (dont transform them to "lo" & "o" files.
>>>>>
>>>>> Is there anybody who can exactly describe the steps what i should
>>>>> doing to
>>>>> add this codec to linphone? The steps of mine didn't work yet
>>>>> succesfully
>>>>> :(.
>>>>>
>>>>>> I'm attaching my version of mediastreamer2/plugins/msg722.c
>>>>>>
>>>>>> There is two IMPORTANT things to remmeber about g722
>>>>>>
>>>>>> 1) when building ding SDP the fmt should be G722/8000
>>>>>>
>>>>>> 2) The actual sampling rate should be 16000HZ  but the RTP timestamp
>>>>> should be based 8000HZ
>>>>>> Thanks
>>>>>> Vadim
>>>>>>
>>>>>>
>>>>>>
>>>>>> On 06/29/2010 01:24 PM, Simon Brenner wrote:
>>>>>>>> The files from the code from the internet are not directly very
>>>>> useful, because you should make some config&make files.
>>>>>>> Yeah, that's right!
>>>>>>>
>>>>>>>
>>>>>>>> Is there anybody who has allready made a G722 plugin (the sama as
>>>>>>>> msilbc
>>>>>>>> plugin) for Linphone (so that i can compile that first and give
>>>>>>>> some
>>>>> parameters to the linphone configuration to use them)?
>>>>>>> I'm actually in the middle of writing a Linphone plugin, but this
>>>>>>> is
>>>>> for other reasons. For a start,
>>>>>>> I took the msx264 plugin code and replaced it by my own code
>>>>>>> preserving
>>>>> the needed structure. But I
>>>>>>> better had had a kind of template or decent guide to do that.
>>>>>>>
>>>>>>> Perhaps we can ask Simon Morlat how his approach to writing a
>>>>>>> plugin
>>>>> is?? Simon, do you have some
>>>>>>> kind of plugin template?
>>>>>>>
>>>>>>>
>>>>>>> -Simon.
>
> _______________________________________________
> Linphone-developers mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/linphone-developers
>







reply via email to

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