Patchwork linphone: added recipe for v3.4.3

login
register
mail settings
Submitter Guillaume Beraudo
Date June 7, 2011, 12:13 p.m.
Message ID <1307448812-27299-1-git-send-email-guillaume.beraudo@belledonne-communications.com>
Download mbox | patch
Permalink /patch/5523/
State New, archived
Headers show

Comments

Guillaume Beraudo - June 7, 2011, 12:13 p.m.
* included alsa_8khz patch to get audio out at 8KHz rate.
* removed dependency on patches without explaination (all others).

Signed-off-by: Guillaume Beraudo <guillaume.beraudo@belledonne-communications.com>
---
 recipes/linphone/files/igep0020/alsa_8khz.patch |   13 ++++
 recipes/linphone/linphone-common.inc            |   75 +++++++++++++++++++++++
 recipes/linphone/linphone-common_3.4.3.inc      |   11 +++
 recipes/linphone/linphone_3.4.3+nogtk.bb        |    9 +++
 4 files changed, 108 insertions(+), 0 deletions(-)
 create mode 100644 recipes/linphone/files/igep0020/alsa_8khz.patch
 create mode 100644 recipes/linphone/linphone-common.inc
 create mode 100644 recipes/linphone/linphone-common_3.4.3.inc
 create mode 100644 recipes/linphone/linphone_3.4.3+nogtk.bb
Martin Jansa - June 7, 2011, 12:41 p.m.
On Tue, Jun 07, 2011 at 02:13:32PM +0200, Guillaume Beraudo wrote:
> * included alsa_8khz patch to get audio out at 8KHz rate.
> * removed dependency on patches without explaination (all others).

Thanks for updating linphone, few comments will follow

the 2 patches in linphone-3.1.0 look self-explanatory, are they applied
upstream?

> Signed-off-by: Guillaume Beraudo <guillaume.beraudo@belledonne-communications.com>
> ---
>  recipes/linphone/files/igep0020/alsa_8khz.patch |   13 ++++
>  recipes/linphone/linphone-common.inc            |   75 +++++++++++++++++++++++
>  recipes/linphone/linphone-common_3.4.3.inc      |   11 +++
>  recipes/linphone/linphone_3.4.3+nogtk.bb        |    9 +++
>  4 files changed, 108 insertions(+), 0 deletions(-)
>  create mode 100644 recipes/linphone/files/igep0020/alsa_8khz.patch
>  create mode 100644 recipes/linphone/linphone-common.inc
>  create mode 100644 recipes/linphone/linphone-common_3.4.3.inc
>  create mode 100644 recipes/linphone/linphone_3.4.3+nogtk.bb
> 
> diff --git a/recipes/linphone/files/igep0020/alsa_8khz.patch b/recipes/linphone/files/igep0020/alsa_8khz.patch
> new file mode 100644
> index 0000000..17774d4
> --- /dev/null
> +++ b/recipes/linphone/files/igep0020/alsa_8khz.patch
> @@ -0,0 +1,13 @@
> +--- linphone/mediastreamer2/src/alsa.c_orig	2011-05-24 12:39:33.824600109 +0200
> ++++ linphone/mediastreamer2/src/alsa.c	2011-05-24 12:40:04.760407404 +0200
> +@@ -32,8 +32,8 @@
> + /*in case of troubles with a particular driver, try incrementing ALSA_PERIOD_SIZE
> + to 512, 1024, 2048, 4096...
> + then try incrementing the number of periods*/
> +-#define ALSA_PERIODS 8
> +-#define ALSA_PERIOD_SIZE 256
> ++#define ALSA_PERIODS 4
> ++#define ALSA_PERIOD_SIZE 512
> + 
> + /*uncomment the following line if you have problems with an alsa driver
> + having sound quality trouble:*/
> diff --git a/recipes/linphone/linphone-common.inc b/recipes/linphone/linphone-common.inc
> new file mode 100644
> index 0000000..98e0288
> --- /dev/null
> +++ b/recipes/linphone/linphone-common.inc
> @@ -0,0 +1,75 @@
> +SECTION = "x11/network"
> +SECTION_liblinphone = "libs/network"
> +SECTION_libmediastreamer = "libs/network"
> +SECTION_libortp = "libs/network"
> +SECTION_linphonec =  "console/network"
> +
> +SRC_URI_append_igep0020 = " file://alsa_8khz.patch"
> +
> +DEPENDS = "intltool readline libosip2 libexosip2 speex alsa-lib"
> +DEPENDS_append_video = " libxv ffmpeg libv4l"
> +DEPENDS_append_gtk = " gtk+"
> +DEPENDS_${PN} = "intltool liblinphone"
> +DEPENDS_${PN}_append_gtk = " gtk+"
> +DEPENDS_${PN}_append_video = " libxv"
> +DEPENDS_${PN}c = "liblinphone readline"
> +DEPENDS_liblinphone = "libmediastreamer libortp libosip2 libexosip2"
> +DEPENDS_libmediastreamer = "speex alsa-lib libortp"
> +DEPENDS_libmediastreamer_append_video = " ffmpeg libv4l"
> +
> +PROVIDES = "linphonec liblinphone libmediastreamer libortp"
> +PROVIDES_gtk = "linphone linphonec liblinphone libmediastreamer libortp"
> +
> +inherit autotools pkgconfig gettext
> +
> +export PKG_CONFIG=${STAGING_BINDIR_NATIVE}/pkg-config
> +
> +
> +LINPHONE_OE_ENABLE_VIDEO = "--disable-video"
> +LINPHONE_OE_ENABLE_VIDEO_video = "--with-ffmpeg=${STAGING_DIR_HOST}${layout_exec_prefix} --enable-video"
> +
> +LINPHONE_OE_ENABLE_CONSOLE_UI = "no"
> +LINPHONE_OE_ENABLE_CONSOLE_UI_console = "yes"
> +
> +LINPHONE_OE_ENABLE_GTK_UI = "no"
> +LINPHONE_OE_ENABLE_GTK_UI_gtk = "yes"
> +
> +do_install_append(){
> +	install -d ${D}${bindir}
> +	install -m 0755 ${S}/coreapi/.libs/test_ecc ${D}${bindir}/test_ecc
> +	install -m 0755 ${S}/coreapi/.libs/test_lsd ${D}${bindir}/test_lsd
> +}
> +
> +EXTRA_OECONF = " \
> +                ${LINPHONE_OE_ENABLE_VIDEO} \
> +                --enable-alsa \
> +                --with-osip=${STAGING_DIR_HOST}${layout_exec_prefix} \
> +                --with-readline=${STAGING_DIR_HOST}${layout_exec_prefix} \
> +                --with-speex=${STAGING_DIR_HOST}${layout_exec_prefix} \
> +                --disable-manual \
> +		--enable-console_ui=${LINPHONE_OE_ENABLE_CONSOLE_UI} \
> +		--enable-gtk_ui=${LINPHONE_OE_ENABLE_GTK_UI} \
> +		--with-realprefix=/usr \
> +		"
> +
> +PACKAGES_gtk = "${PN}-dbg ${PN} ${PN}-doc ${PN}-dev ${PN}-locale ${PN}c linphone-rings liblinphone libmediastreamer-bin libmediastreamer libortp ${PN}-utils"
> +PACKAGES = "${PN}c linphone-rings liblinphone libmediastreamer-bin libmediastreamer libortp ${PN}-utils"
> +
> +FILES_${PN} = " \ 
> +	    ${bindir}/linphone \
> +            ${datadir}/linphone \
> + 	    ${datadir}/pixmaps \
> +	    ${datadir}/applications \
> +	    ${datadir}/gnome/apps \
> +	    ${datadir}/sounds/linphone/hello8000.wav \
> +	    ${datadir}/sounds/linphone/hello16000.wav \
> +	    ${datadir}/images/nowebcamCIF.jpg \
> +	    "
> +FILES_${PN}c = "${bindir}/linphonec ${bindir}/linphonecsh ${bindir}/sipomatic ${datadir}/sounds/linphone/ringback.wav"
> +FILES_${PN}-rings = "${datadir}/sounds/linphone/rings"
> +FILES_liblinphone = "${libdir}/liblinphone.so.*"
> +FILES_libmediastreamer-bin = "/usr/libexec/mediastream"
> +FILES_libmediastreamer = "${libdir}/libmediastreamer.so.*"
> +FILES_libortp = "${libdir}/libortp.so.*"
> +FILES_${PN}-dev += "${libdir}/*.a ${libdir}/*.la ${libdir}/pkgconfig ${includedir}"
> +FILES_${PN}-utils = "${bindir}/test_ecc ${bindir}/test_lsd"
> diff --git a/recipes/linphone/linphone-common_3.4.3.inc b/recipes/linphone/linphone-common_3.4.3.inc
> new file mode 100644
> index 0000000..5865ab0
> --- /dev/null
> +++ b/recipes/linphone/linphone-common_3.4.3.inc
> @@ -0,0 +1,11 @@
> +
> +SRC_URI = "${SAVANNAH_MIRROR}/releases/linphone/3.4.x/sources/linphone-3.4.3.tar.gz \
> +	file://cif10fps.patch"

where is this file?

> +
> +SRC_URI[md5sum] = "66e21f36d62c2094f7b4360262c46f20"
> +SRC_URI[sha256sum] = "92e7a0a01f2bb53bfaa4d7de4972e63ad528731154c36e05a9b6ba097e296692"
> +
> +S = "${WORKDIR}/linphone-3.4.3"
> +
> +
> +require linphone-common.inc
> diff --git a/recipes/linphone/linphone_3.4.3+nogtk.bb b/recipes/linphone/linphone_3.4.3+nogtk.bb
> new file mode 100644
> index 0000000..9bec7b1
> --- /dev/null
> +++ b/recipes/linphone/linphone_3.4.3+nogtk.bb

what does +nogtk mean in version?

> @@ -0,0 +1,9 @@
> +DESCRIPTION = "Audio/video SIP-based IP phone (console edition)"
> +HOMEPAGE = "http://www.linphone.org/?lang=us"
> +LICENSE = "GPLv2"
> +PR="r6"
> +
> +DEFAULT_PREFERENCE = "2"

why D_P = "2" when all other recipes have default D_P = "1" and this has
highest PV?

> +OVERRIDES_append = ":video:console"

This looks like someone trying to implement USE flags in OE :). But I'm
not sure it's right way and I haven't noticed this used in any other
recipe. So it would be better to discuss first.

> +
> +require linphone-common_3.4.3.inc
> -- 
> 1.7.2.5
> 
> 
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
Koen Kooi - June 7, 2011, 12:42 p.m.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 07-06-11 14:13, Guillaume Beraudo wrote:
> * included alsa_8khz patch to get audio out at 8KHz rate.
> * removed dependency on patches without explaination (all others).
> 

> +SRC_URI_append_igep0020 = " file://alsa_8khz.patch"

why is it machine specific?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFN7hy+MkyGM64RGpERAgwzAJ0TNdHVdDkFHktWq5gbr+KiNyq23wCfa7XK
ix3u/fFz4xmWy9MPPzdpHrI=
=W4P3
-----END PGP SIGNATURE-----
Guillaume Beraudo - June 7, 2011, 12:57 p.m.
Hi Martin,

> the 2 patches in linphone-3.1.0 look self-explanatory, are they
> applied upstream?
The doc patch seems long ago obsolete.
I don't see any "ENABLE_GTK_DOC" in configure file.

The b64 is cryptic to me, could you explain it?
Guillaume Beraudo - June 7, 2011, 12:59 p.m.
Hi,

> > * included alsa_8khz patch to get audio out at 8KHz rate.
> > +SRC_URI_append_igep0020 = " file://alsa_8khz.patch"
> why is it machine specific?

It was required for this specific hardware to work.
Moreover it slighlty damages latency.
Martin Jansa - June 7, 2011, 1:09 p.m.
On Tue, Jun 07, 2011 at 02:57:13PM +0200, Guillaume BERAUDO wrote:
> Hi Martin,
> 
> > the 2 patches in linphone-3.1.0 look self-explanatory, are they
> > applied upstream?
> The doc patch seems long ago obsolete.
> I don't see any "ENABLE_GTK_DOC" in configure file.

I'm talking about those in linphone-3.1.0 dir
OE @ ~ $ ls dev/recipes/linphone/linphone-3.1.0/
fix.unused.variable.patch  preferences-segv.patch
 
> The b64 is cryptic to me, could you explain it?

agreed it's cryptic and I guess we're fine without it (imho it was used
to handle newer gcc like there was special case for __WATCOMC__, but I
haven't look to whole source)

Regards,
Guillaume Beraudo - June 7, 2011, 1:23 p.m.
Sorry, I missed your other comments.
See below for my answers.

> > --git a/recipes/linphone/linphone-common_3.4.3.inc
> > b/recipes/linphone/linphone-common_3.4.3.inc new file mode 100644
> > index 0000000..5865ab0 --- /dev/null
> > +++ b/recipes/linphone/linphone-common_3.4.3.inc
> > @@ -0,0 +1,11 @@
> > +
> > +SRC_URI =
> > "${SAVANNAH_MIRROR}/releases/linphone/3.4.x/sources/linphone-3.4.3.tar.gz
> > \
> > +	file://cif10fps.patch"
> where is this file?

It is a mistake, this patch should not be added.



> > +require linphone-common.inc
> > diff --git a/recipes/linphone/linphone_3.4.3+nogtk.bb
> > b/recipes/linphone/linphone_3.4.3+nogtk.bb new file mode 100644
> > index 0000000..9bec7b1
> > --- /dev/null
> > +++ b/recipes/linphone/linphone_3.4.3+nogtk.bb
>
> what does +nogtk mean in version?

It is possible to compile linphone with or without gtk GUI.

I wrote another recipe for linphone 3.4.3 with gtk GUI.
It will be sent for review later.


> > @@ -0,0 +1,9 @@
> > +DESCRIPTION = "Audio/video SIP-based IP phone (console edition)"
> > +HOMEPAGE = "http://www.linphone.org/?lang=us"
> > +LICENSE = "GPLv2"
> > +PR="r6"
> > +
> > +DEFAULT_PREFERENCE = "2"
> 
> why D_P = "2" when all other recipes have default D_P = "1" and this
> has highest PV?

Ok, I will correct it.


> 
> > +OVERRIDES_append = ":video:console"
> 
> This looks like someone trying to implement USE flags in OE :). But
> I'm not sure it's right way and I haven't noticed this used in any
> other recipe. So it would be better to discuss first.

I am new to openembedded and thus may have missed something in the
documentations. Can you point me to some elegant way to implement
recipe flavours?


Thanks,

Guillaume
Martin Jansa - June 7, 2011, 1:33 p.m.
On Tue, Jun 07, 2011 at 03:23:54PM +0200, Guillaume BERAUDO wrote:
> Sorry, I missed your other comments.
> See below for my answers.
> 
> > > --git a/recipes/linphone/linphone-common_3.4.3.inc
> > > b/recipes/linphone/linphone-common_3.4.3.inc new file mode 100644
> > > index 0000000..5865ab0 --- /dev/null
> > > +++ b/recipes/linphone/linphone-common_3.4.3.inc
> > > @@ -0,0 +1,11 @@
> > > +
> > > +SRC_URI =
> > > "${SAVANNAH_MIRROR}/releases/linphone/3.4.x/sources/linphone-3.4.3.tar.gz
> > > \
> > > +	file://cif10fps.patch"
> > where is this file?
> 
> It is a mistake, this patch should not be added.
> 
> 
> 
> > > +require linphone-common.inc
> > > diff --git a/recipes/linphone/linphone_3.4.3+nogtk.bb
> > > b/recipes/linphone/linphone_3.4.3+nogtk.bb new file mode 100644
> > > index 0000000..9bec7b1
> > > --- /dev/null
> > > +++ b/recipes/linphone/linphone_3.4.3+nogtk.bb
> >
> > what does +nogtk mean in version?
> 
> It is possible to compile linphone with or without gtk GUI.

then I think it's better as part of package name
linphone-nogtk_3.4.3

otherwise you risk user getting upgrade on target
from linphone-3.4.3+nogtk to linphone-3.4.4+gtk

> I wrote another recipe for linphone 3.4.3 with gtk GUI.
> It will be sent for review later.
> 
> 
> > > @@ -0,0 +1,9 @@
> > > +DESCRIPTION = "Audio/video SIP-based IP phone (console edition)"
> > > +HOMEPAGE = "http://www.linphone.org/?lang=us"
> > > +LICENSE = "GPLv2"
> > > +PR="r6"
> > > +
> > > +DEFAULT_PREFERENCE = "2"
> > 
> > why D_P = "2" when all other recipes have default D_P = "1" and this
> > has highest PV?
> 
> Ok, I will correct it.
> 
> 
> > 
> > > +OVERRIDES_append = ":video:console"
> > 
> > This looks like someone trying to implement USE flags in OE :). But
> > I'm not sure it's right way and I haven't noticed this used in any
> > other recipe. So it would be better to discuss first.
> 
> I am new to openembedded and thus may have missed something in the
> documentations. Can you point me to some elegant way to implement
> recipe flavours?

I don't think TSC agreed on some sort of USE-flag solution or policy
yet, but keeping shared EXTRA_OECONF in linphone-3.4.3.inc and then
EXTRA_OECONF_append with nogtk specific options in separate files like
linphone-nogtk_3.4.3.bb would be easier to understand (at least to me),
even when not so "elegant" as your OVERRIDES solution.

Regards,
Guillaume Beraudo - June 7, 2011, 1:34 p.m.
> > > the 2 patches in linphone-3.1.0 look self-explanatory, are they
> > > applied upstream?
> I'm talking about those in linphone-3.1.0 dir
> OE @ ~ $ ls dev/recipes/linphone/linphone-3.1.0/
> fix.unused.variable.patch  preferences-segv.patch

I see ;)

These patches are present upstream.
Guillaume Beraudo - June 7, 2011, 2:23 p.m.
Martin,

> > > what does +nogtk mean in version?
> > 
> > It is possible to compile linphone with or without gtk GUI.
> 
> then I think it's better as part of package name
> linphone-nogtk_3.4.3
> 
> otherwise you risk user getting upgrade on target
> from linphone-3.4.3+nogtk to linphone-3.4.4+gtk

Ok, I will change this.


> > > > +OVERRIDES_append = ":video:console"
> > > 
> > > This looks like someone trying to implement USE flags in OE :).
> > > But I'm not sure it's right way and I haven't noticed this used
> > > in any other recipe. So it would be better to discuss first.
> > 
> > I am new to openembedded and thus may have missed something in the
> > documentations. Can you point me to some elegant way to implement
> > recipe flavours?
> 
> I don't think TSC agreed on some sort of USE-flag solution or policy
> yet, but keeping shared EXTRA_OECONF in linphone-3.4.3.inc and then
> EXTRA_OECONF_append with nogtk specific options in separate files like
> linphone-nogtk_3.4.3.bb would be easier to understand (at least to
> me), even when not so "elegant" as your OVERRIDES solution.

There is also some conditionnals with the DEPENDS.
What is the use of all the "DEPENDS_some-package-name" directives?
Isn't it identical to only use the global "DEPENDS"?

I removed all the RDEPENDS stuff. Can you confirm it was unnecessary?

Regards,

Guillaume
Martin Jansa - June 7, 2011, 3:18 p.m.
On Tue, Jun 07, 2011 at 04:23:58PM +0200, Guillaume BERAUDO wrote:
> Martin,
> 
> > > > what does +nogtk mean in version?
> > > 
> > > It is possible to compile linphone with or without gtk GUI.
> > 
> > then I think it's better as part of package name
> > linphone-nogtk_3.4.3
> > 
> > otherwise you risk user getting upgrade on target
> > from linphone-3.4.3+nogtk to linphone-3.4.4+gtk
> 
> Ok, I will change this.
> 
> 
> > > > > +OVERRIDES_append = ":video:console"
> > > > 
> > > > This looks like someone trying to implement USE flags in OE :).
> > > > But I'm not sure it's right way and I haven't noticed this used
> > > > in any other recipe. So it would be better to discuss first.
> > > 
> > > I am new to openembedded and thus may have missed something in the
> > > documentations. Can you point me to some elegant way to implement
> > > recipe flavours?
> > 
> > I don't think TSC agreed on some sort of USE-flag solution or policy
> > yet, but keeping shared EXTRA_OECONF in linphone-3.4.3.inc and then
> > EXTRA_OECONF_append with nogtk specific options in separate files like
> > linphone-nogtk_3.4.3.bb would be easier to understand (at least to
> > me), even when not so "elegant" as your OVERRIDES solution.
> 
> There is also some conditionnals with the DEPENDS.
> What is the use of all the "DEPENDS_some-package-name" directives?
> Isn't it identical to only use the global "DEPENDS"?

Yes it looks weird and broken on quick glance.
but "shared" DEPENDS = "foo" in linphone-3.4.3.inc and DEPENDS_append = "gtk+"
in linphone-gtk_1.2.4.bb makes sense
 
> I removed all the RDEPENDS stuff. Can you confirm it was unnecessary?

all linked .so providers should be picked to rdepends automatically by
package.bbclass so only extra stuff like linphone-gtk-config would be
needed in extra RDEPENDS_${PN} in linphone-gtk_1.2.4.bb.

> 
> Regards,
> 
> Guillaume
Guillaume Beraudo - June 8, 2011, 8:29 a.m.
Hi,

> > > > > > +OVERRIDES_append = ":video:console"
> > > > > 
> > > > > This looks like someone trying to implement USE flags in
> > > > > OE :). But I'm not sure it's right way and I haven't noticed
> > > > > this used in any other recipe. So it would be better to
> > > > > discuss first.
> > > > 
> > > > I am new to openembedded and thus may have missed something in
> > > > the documentations. Can you point me to some elegant way to
> > > > implement recipe flavours?
> > > 
> > > I don't think TSC agreed on some sort of USE-flag solution or
> > > policy yet, but keeping shared EXTRA_OECONF in linphone-3.4.3.inc
> > > and then EXTRA_OECONF_append with nogtk specific options in
> > > separate files like linphone-nogtk_3.4.3.bb would be easier to
> > > understand (at least to me), even when not so "elegant" as your
> > > OVERRIDES solution.

With your advice, a typical linphone recipe would contain a block like
this:

# With video
DEPENDS_append = " libxv ffmpeg libv4l"
EXTRA_OECONF_append = "
--with-ffmpeg=${STAGING_DIR_HOST}${layout_exec_prefix} --enable-video"

# Without video
#EXTRA_OECONF_append = " --disable-video"


# GTK GUI
DEPENDS_append = " gtk+"
PROVIDES_append = " linphone"
PACKAGES_prepend = "${PN}-dbg ${PN} ${PN}-doc ${PN}-dev ${PN}-locale "
EXTRA_OECONF_append = " --enable-gtk_ui=yes"

# Without GTK GUI
#EXTRA_OECONF_append = " --enable-gtk_ui=no"


Though it is easier at first glance I feel it error prone.
When creating a new recipe, it is easy to forget uncommenting
directives.

Is it blocking to use my initial solution with OVERRIDES?
If yes, what about using a "@base_conditional"?
Eg:
LINPHONE_FLAVOUR_WITH_GTK = '1'
@base_conditional('LINPHONE_FLAVOUR_WITH_GTK', '1', 'something when
active', 'something when inactive')

This would keep the recipes simple and avoid using any OVERRIDES or
_append.



> > There is also some conditionnals with the DEPENDS.
> > What is the use of all the "DEPENDS_some-package-name" directives?
> > Isn't it identical to only use the global "DEPENDS"?
> 
> Yes it looks weird and broken on quick glance.
> but "shared" DEPENDS = "foo" in linphone-3.4.3.inc and DEPENDS_append
> = "gtk+" in linphone-gtk_1.2.4.bb makes sense
>  
> > I removed all the RDEPENDS stuff. Can you confirm it was
> > unnecessary?
> 
> all linked .so providers should be picked to rdepends automatically by
> package.bbclass so only extra stuff like linphone-gtk-config would be
> needed in extra RDEPENDS_${PN} in linphone-gtk_1.2.4.bb.

Isn't the "inherit pkgconfig" managing it already?

Also, do you thing this line is of any use?
"export PKG_CONFIG=${STAGING_BINDIR_NATIVE}/pkg-config"

Regards
Guillaume

Patch

diff --git a/recipes/linphone/files/igep0020/alsa_8khz.patch b/recipes/linphone/files/igep0020/alsa_8khz.patch
new file mode 100644
index 0000000..17774d4
--- /dev/null
+++ b/recipes/linphone/files/igep0020/alsa_8khz.patch
@@ -0,0 +1,13 @@ 
+--- linphone/mediastreamer2/src/alsa.c_orig	2011-05-24 12:39:33.824600109 +0200
++++ linphone/mediastreamer2/src/alsa.c	2011-05-24 12:40:04.760407404 +0200
+@@ -32,8 +32,8 @@
+ /*in case of troubles with a particular driver, try incrementing ALSA_PERIOD_SIZE
+ to 512, 1024, 2048, 4096...
+ then try incrementing the number of periods*/
+-#define ALSA_PERIODS 8
+-#define ALSA_PERIOD_SIZE 256
++#define ALSA_PERIODS 4
++#define ALSA_PERIOD_SIZE 512
+ 
+ /*uncomment the following line if you have problems with an alsa driver
+ having sound quality trouble:*/
diff --git a/recipes/linphone/linphone-common.inc b/recipes/linphone/linphone-common.inc
new file mode 100644
index 0000000..98e0288
--- /dev/null
+++ b/recipes/linphone/linphone-common.inc
@@ -0,0 +1,75 @@ 
+SECTION = "x11/network"
+SECTION_liblinphone = "libs/network"
+SECTION_libmediastreamer = "libs/network"
+SECTION_libortp = "libs/network"
+SECTION_linphonec =  "console/network"
+
+SRC_URI_append_igep0020 = " file://alsa_8khz.patch"
+
+DEPENDS = "intltool readline libosip2 libexosip2 speex alsa-lib"
+DEPENDS_append_video = " libxv ffmpeg libv4l"
+DEPENDS_append_gtk = " gtk+"
+DEPENDS_${PN} = "intltool liblinphone"
+DEPENDS_${PN}_append_gtk = " gtk+"
+DEPENDS_${PN}_append_video = " libxv"
+DEPENDS_${PN}c = "liblinphone readline"
+DEPENDS_liblinphone = "libmediastreamer libortp libosip2 libexosip2"
+DEPENDS_libmediastreamer = "speex alsa-lib libortp"
+DEPENDS_libmediastreamer_append_video = " ffmpeg libv4l"
+
+PROVIDES = "linphonec liblinphone libmediastreamer libortp"
+PROVIDES_gtk = "linphone linphonec liblinphone libmediastreamer libortp"
+
+inherit autotools pkgconfig gettext
+
+export PKG_CONFIG=${STAGING_BINDIR_NATIVE}/pkg-config
+
+
+LINPHONE_OE_ENABLE_VIDEO = "--disable-video"
+LINPHONE_OE_ENABLE_VIDEO_video = "--with-ffmpeg=${STAGING_DIR_HOST}${layout_exec_prefix} --enable-video"
+
+LINPHONE_OE_ENABLE_CONSOLE_UI = "no"
+LINPHONE_OE_ENABLE_CONSOLE_UI_console = "yes"
+
+LINPHONE_OE_ENABLE_GTK_UI = "no"
+LINPHONE_OE_ENABLE_GTK_UI_gtk = "yes"
+
+do_install_append(){
+	install -d ${D}${bindir}
+	install -m 0755 ${S}/coreapi/.libs/test_ecc ${D}${bindir}/test_ecc
+	install -m 0755 ${S}/coreapi/.libs/test_lsd ${D}${bindir}/test_lsd
+}
+
+EXTRA_OECONF = " \
+                ${LINPHONE_OE_ENABLE_VIDEO} \
+                --enable-alsa \
+                --with-osip=${STAGING_DIR_HOST}${layout_exec_prefix} \
+                --with-readline=${STAGING_DIR_HOST}${layout_exec_prefix} \
+                --with-speex=${STAGING_DIR_HOST}${layout_exec_prefix} \
+                --disable-manual \
+		--enable-console_ui=${LINPHONE_OE_ENABLE_CONSOLE_UI} \
+		--enable-gtk_ui=${LINPHONE_OE_ENABLE_GTK_UI} \
+		--with-realprefix=/usr \
+		"
+
+PACKAGES_gtk = "${PN}-dbg ${PN} ${PN}-doc ${PN}-dev ${PN}-locale ${PN}c linphone-rings liblinphone libmediastreamer-bin libmediastreamer libortp ${PN}-utils"
+PACKAGES = "${PN}c linphone-rings liblinphone libmediastreamer-bin libmediastreamer libortp ${PN}-utils"
+
+FILES_${PN} = " \ 
+	    ${bindir}/linphone \
+            ${datadir}/linphone \
+ 	    ${datadir}/pixmaps \
+	    ${datadir}/applications \
+	    ${datadir}/gnome/apps \
+	    ${datadir}/sounds/linphone/hello8000.wav \
+	    ${datadir}/sounds/linphone/hello16000.wav \
+	    ${datadir}/images/nowebcamCIF.jpg \
+	    "
+FILES_${PN}c = "${bindir}/linphonec ${bindir}/linphonecsh ${bindir}/sipomatic ${datadir}/sounds/linphone/ringback.wav"
+FILES_${PN}-rings = "${datadir}/sounds/linphone/rings"
+FILES_liblinphone = "${libdir}/liblinphone.so.*"
+FILES_libmediastreamer-bin = "/usr/libexec/mediastream"
+FILES_libmediastreamer = "${libdir}/libmediastreamer.so.*"
+FILES_libortp = "${libdir}/libortp.so.*"
+FILES_${PN}-dev += "${libdir}/*.a ${libdir}/*.la ${libdir}/pkgconfig ${includedir}"
+FILES_${PN}-utils = "${bindir}/test_ecc ${bindir}/test_lsd"
diff --git a/recipes/linphone/linphone-common_3.4.3.inc b/recipes/linphone/linphone-common_3.4.3.inc
new file mode 100644
index 0000000..5865ab0
--- /dev/null
+++ b/recipes/linphone/linphone-common_3.4.3.inc
@@ -0,0 +1,11 @@ 
+
+SRC_URI = "${SAVANNAH_MIRROR}/releases/linphone/3.4.x/sources/linphone-3.4.3.tar.gz \
+	file://cif10fps.patch"
+
+SRC_URI[md5sum] = "66e21f36d62c2094f7b4360262c46f20"
+SRC_URI[sha256sum] = "92e7a0a01f2bb53bfaa4d7de4972e63ad528731154c36e05a9b6ba097e296692"
+
+S = "${WORKDIR}/linphone-3.4.3"
+
+
+require linphone-common.inc
diff --git a/recipes/linphone/linphone_3.4.3+nogtk.bb b/recipes/linphone/linphone_3.4.3+nogtk.bb
new file mode 100644
index 0000000..9bec7b1
--- /dev/null
+++ b/recipes/linphone/linphone_3.4.3+nogtk.bb
@@ -0,0 +1,9 @@ 
+DESCRIPTION = "Audio/video SIP-based IP phone (console edition)"
+HOMEPAGE = "http://www.linphone.org/?lang=us"
+LICENSE = "GPLv2"
+PR="r6"
+
+DEFAULT_PREFERENCE = "2"
+OVERRIDES_append = ":video:console"
+
+require linphone-common_3.4.3.inc