You can subscribe to this list here.
2003 |
Jan
|
Feb
(3) |
Mar
(16) |
Apr
(11) |
May
(3) |
Jun
(109) |
Jul
(70) |
Aug
(22) |
Sep
(19) |
Oct
(4) |
Nov
(25) |
Dec
(46) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(68) |
Feb
(52) |
Mar
(54) |
Apr
(57) |
May
(13) |
Jun
(15) |
Jul
(16) |
Aug
(3) |
Sep
(43) |
Oct
(95) |
Nov
(106) |
Dec
(142) |
2005 |
Jan
(62) |
Feb
(190) |
Mar
(75) |
Apr
(117) |
May
(123) |
Jun
(64) |
Jul
(122) |
Aug
(95) |
Sep
(63) |
Oct
(102) |
Nov
(99) |
Dec
(85) |
2006 |
Jan
(59) |
Feb
(64) |
Mar
(138) |
Apr
(82) |
May
(62) |
Jun
(62) |
Jul
(72) |
Aug
(50) |
Sep
(21) |
Oct
(95) |
Nov
(95) |
Dec
(29) |
2007 |
Jan
(26) |
Feb
(36) |
Mar
(45) |
Apr
(12) |
May
(53) |
Jun
(38) |
Jul
(19) |
Aug
(87) |
Sep
(63) |
Oct
(272) |
Nov
(102) |
Dec
(63) |
2008 |
Jan
(54) |
Feb
(19) |
Mar
(84) |
Apr
(111) |
May
(17) |
Jun
(26) |
Jul
(18) |
Aug
(10) |
Sep
(14) |
Oct
(9) |
Nov
(4) |
Dec
(12) |
2009 |
Jan
(5) |
Feb
(7) |
Mar
(4) |
Apr
(8) |
May
(4) |
Jun
(7) |
Jul
|
Aug
(1) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
(6) |
Mar
(6) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(3) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Matthew C. <mc...@no...> - 2008-04-28 14:43:57
|
On Mon, 2008-04-28 at 10:27 -0400, Peter Grayson wrote: > What platform are you running on? Are you seeing the same symptoms on > multiple platforms? > I haven't tried any other platforms yet. I'll give Windows WMME a try later today, since it looks like the problem is not specific to echo cancellation code (i.e., I've seen the problem when I've built using --without-echo-can). > And what is SLED 10? SuSE Linux Enterprise Desktop 10 -Matt |
From: Peter G. <jpg...@gm...> - 2008-04-28 14:28:34
|
What platform are you running on? Are you seeing the same symptoms on multiple platforms? And what is SLED 10? On Fri, Apr 25, 2008 at 5:16 PM, Matthew Crane <mc...@no...> wrote: > On Fri, 2008-04-25 at 14:24 -0600, Matthew Crane wrote: > > > Unfortunately, it looks like some sort of audio problem has crept in > > between 2.1beta3 and now (at least on SLED 10). Incoming audio sounds > > very choppy. I turned echo cancellation off -- problem still there. I > > compiled using --without-echo-can -- problem still there. > > > > I'm going to checkout a version of the trunk from a few days ago to see > > if the echo-cancellation merge introduced these problems or if it was > > something earlier. > > > > -Matt > > > > More info: > > A build of the trunk checked out with "-r {2008-04-20}" has got audio > working correctly. The current trunk as well as Mihai's echocan branch > have both got audio problems (lots of dropouts -- like several per > second) on SLED 10. > > -Matt |
From: Peter G. <jpg...@gm...> - 2008-04-28 14:23:23
|
Hi Dennis, On Fri, Apr 25, 2008 at 2:33 PM, Dennis Christopher <DCh...@pi...> wrote: > Under OS X I am linking my build of IAXClient with an external speex- > devel dynamic library. > This builds by default as intel architecture and I cant find any > documentation on the proper > way to build this in PPC architecture also (so I can make a universal > binary out of my IAXClientLib). > > Anyone know how to do this? Apple provides a recipe for doing this: http://developer.apple.com/technotes/tn2005/tn2137.html and here: http://developer.apple.com/documentation/Porting/Conceptual/PortingUnix/compiling/chapter_4_section_3.html#//apple_ref/doc/uid/TP40002850-BAJCFEBA This technique is known to work with iaxclient and speex (and theora and portaudio and libogg). Pete |
From: Matthew C. <mc...@no...> - 2008-04-25 21:16:36
|
On Fri, 2008-04-25 at 14:24 -0600, Matthew Crane wrote: > Unfortunately, it looks like some sort of audio problem has crept in > between 2.1beta3 and now (at least on SLED 10). Incoming audio sounds > very choppy. I turned echo cancellation off -- problem still there. I > compiled using --without-echo-can -- problem still there. > > I'm going to checkout a version of the trunk from a few days ago to see > if the echo-cancellation merge introduced these problems or if it was > something earlier. > > -Matt > More info: A build of the trunk checked out with "-r {2008-04-20}" has got audio working correctly. The current trunk as well as Mihai's echocan branch have both got audio problems (lots of dropouts -- like several per second) on SLED 10. -Matt |
From: Matthew C. <mc...@no...> - 2008-04-25 20:25:01
|
On Thu, 2008-04-24 at 15:20 -0400, Peter Grayson wrote: > Hi Matt > > On Thu, Apr 24, 2008 at 12:24 PM, Matthew Crane <mc...@no...> wrote: > > On Thu, 2008-04-24 at 10:35 -0400, Peter Grayson wrote: > > > > > > This is my first time compiling code checked out from the svn > > > > repository. When trying to run the autogen.sh script in your echocan > > > > branch, autoconf is generating an error when it comes across > > > > "PKG_REQUIRES": > > > > > > > > configure.ac:213: error: possibly undefined macro: PKG_REQUIRES > > > > If this token and others are legitimate, please use > > > > m4_pattern_allow. > > > > See the Autoconf documentation. > > [snip] > > > I found the problem. The version of pkgconfig in SuSE Linux Enterprise > > Desktop 10 SP1 has the following entry in /usr/share/aclocal/pkg.m4: > > > > m4_pattern_forbid([^_?PKG_[A-Z_]+$]) > > > > Basically, trying to define any variables of the form > > "PKG_BLAH_BLAH_BLAH" in a configure.ac macro file is a no-no. I've > > changed all instances of PKG_REQUIRES in my source tree to > > PACKAGE_REQUIRES. If you want to include this change in the trunk so > > this issue doesn't hit any other Linux users that happen to have this > > pkgconfig setup, here's the diff: > > Good find. I've committed a fix to trunk. > > Also, I have committed the new echo cancellation code to iaxclient > trunk. This effectively obsoletes Mihai's echocan branch. As Mihai > mentioned, the results on Windows have not been spectacular thus far. > Using a different API besides wmme might yield good results. Note that > I have not yet given up on getting aec working with wmme. > Unfortunately, it looks like some sort of audio problem has crept in between 2.1beta3 and now (at least on SLED 10). Incoming audio sounds very choppy. I turned echo cancellation off -- problem still there. I compiled using --without-echo-can -- problem still there. I'm going to checkout a version of the trunk from a few days ago to see if the echo-cancellation merge introduced these problems or if it was something earlier. -Matt |
From: Dennis C. <DCh...@pi...> - 2008-04-25 18:33:58
|
Under OS X I am linking my build of IAXClient with an external speex- devel dynamic library. This builds by default as intel architecture and I cant find any documentation on the proper way to build this in PPC architecture also (so I can make a universal binary out of my IAXClientLib). Anyone know how to do this? Dennis Christopher |
From: Peter G. <jpg...@gm...> - 2008-04-24 19:21:10
|
Hi Matt On Thu, Apr 24, 2008 at 12:24 PM, Matthew Crane <mc...@no...> wrote: > On Thu, 2008-04-24 at 10:35 -0400, Peter Grayson wrote: > > > > This is my first time compiling code checked out from the svn > > > repository. When trying to run the autogen.sh script in your echocan > > > branch, autoconf is generating an error when it comes across > > > "PKG_REQUIRES": > > > > > > configure.ac:213: error: possibly undefined macro: PKG_REQUIRES > > > If this token and others are legitimate, please use > > > m4_pattern_allow. > > > See the Autoconf documentation. [snip] > I found the problem. The version of pkgconfig in SuSE Linux Enterprise > Desktop 10 SP1 has the following entry in /usr/share/aclocal/pkg.m4: > > m4_pattern_forbid([^_?PKG_[A-Z_]+$]) > > Basically, trying to define any variables of the form > "PKG_BLAH_BLAH_BLAH" in a configure.ac macro file is a no-no. I've > changed all instances of PKG_REQUIRES in my source tree to > PACKAGE_REQUIRES. If you want to include this change in the trunk so > this issue doesn't hit any other Linux users that happen to have this > pkgconfig setup, here's the diff: Good find. I've committed a fix to trunk. Also, I have committed the new echo cancellation code to iaxclient trunk. This effectively obsoletes Mihai's echocan branch. As Mihai mentioned, the results on Windows have not been spectacular thus far. Using a different API besides wmme might yield good results. Note that I have not yet given up on getting aec working with wmme. One of the primary deficiencies in iaxclient's aec implementation is that it fails to buffer the reference (output) audio stream before feeding it into the speex echo canceler; we just take the reference output audio straight from portaudio and push it into the speex echo canceler. This makes it so that the speex echo canceler's tail has to account for all of the latency through portaudio's output pipeline, over the air, into the microphone, and back through portaudio's input pipeline. The application notes for speex specifically talk about this problem. On systems with low latency, such as Mac, we can get away with this, but on Windows using wmme, the echo canceller's tail is not long enough. The other potential problem affecting aec with wmme is the switch to using a fixed samples per frame with portaudio instead of allowing portaudio to use its natural (and variable) buffer size. I suspect that this may affect how well wmme keeps the input and output audio streams synchronized. It is this input / output synchronization that is most critical to aec working. That's pretty much what I know about aec. Check out audio_encode.c and audio_portaudio.c to see the code in action. Pete |
From: Matthew C. <mc...@no...> - 2008-04-24 16:25:19
|
On Thu, 2008-04-24 at 10:35 -0400, Peter Grayson wrote: > > This is my first time compiling code checked out from the svn > > repository. When trying to run the autogen.sh script in your echocan > > branch, autoconf is generating an error when it comes across > > "PKG_REQUIRES": > > > > configure.ac:213: error: possibly undefined macro: PKG_REQUIRES > > If this token and others are legitimate, please use > > m4_pattern_allow. > > See the Autoconf documentation. > > > > Any clue what I need to do to fix this issue? I've got pkgconfig > > installed on my system as well as the necessary version of autoconf. > > Perhaps it is complaining because the PKG_REQUIRES variable is being > referenced before it is ever declared. Try writing PKG_REQUIRES="" > somewhere before line 213 (e.g. 207). > > Pete I found the problem. The version of pkgconfig in SuSE Linux Enterprise Desktop 10 SP1 has the following entry in /usr/share/aclocal/pkg.m4: m4_pattern_forbid([^_?PKG_[A-Z_]+$]) Basically, trying to define any variables of the form "PKG_BLAH_BLAH_BLAH" in a configure.ac macro file is a no-no. I've changed all instances of PKG_REQUIRES in my source tree to PACKAGE_REQUIRES. If you want to include this change in the trunk so this issue doesn't hit any other Linux users that happen to have this pkgconfig setup, here's the diff: matt:~/src/iaxclient/branches/team/mihai/echocan> svn diff Index: iaxclient.pc.in =================================================================== --- iaxclient.pc.in (revision 1421) +++ iaxclient.pc.in (working copy) @@ -9,5 +9,5 @@ Libs: -L${libdir} -liaxclient @PTHREAD_LIBS@ Libs.private: @GSM_LIBS@ Cflags: -I${includedir} -Requires.private: portaudio-2.0 speex @PKG_REQUIRES@ +Requires.private: portaudio-2.0 speex @PACKAGE_REQUIRES@ Index: configure.ac =================================================================== --- configure.ac (revision 1421) +++ configure.ac (working copy) @@ -205,12 +205,14 @@ fi AM_CONDITIONAL(VIDEO, test x$with_video = xyes) +PACKAGE_REQUIRES="" + has_ogg=no if test ! x$with_ogg = xno; then PKG_CHECK_MODULES(OGG, [ogg >= 1.1.3],has_ogg=yes) if test x$has_ogg = xyes; then AC_DEFINE(USE_OGG, 1, [OGG]) - PKG_REQUIRES="$PKG_REQUIRES ogg" + PACKAGE_REQUIRES="$PACKAGE_REQUIRES ogg" elif test ! x$with_ogg = xauto ; then AC_MSG_ERROR([ libogg is required to build this package! @@ -238,7 +240,7 @@ PKG_CHECK_MODULES(THEORA, [theora >= 1.0alpha7],has_theora=yes) if test x$has_theora = xyes; then AC_DEFINE(USE_THEORA, 1, [THEORA]) - PKG_REQUIRES="$PKG_REQUIRES theora" + PACKAGE_REQUIRES="$PACKAGE_REQUIRES theora" elif test ! x$with_theora = xauto ; then AC_MSG_ERROR([ libtheora is required to build this package! @@ -254,7 +256,7 @@ PKG_CHECK_MODULES(VIDCAP, [vidcap >= 0.1],has_vidcap=yes) if test x$has_vidcap = xyes; then AC_DEFINE(USE_VIDCAP, 1, [VIDCAP]) - PKG_REQUIRES="$PKG_REQUIRES vidcap" + PACKAGE_REQUIRES="$PACKAGE_REQUIRES vidcap" elif test ! x$with_vidcap = xauto ; then AC_MSG_ERROR([ libvidcap is required to build this package! @@ -270,7 +272,7 @@ PKG_CHECK_MODULES(FFMPEG, [libavcodec >= 51.40.3],has_ffmpeg=yes) if test x$has_ffmpeg = xyes; then AC_DEFINE(USE_FFMPEG, 1, [FFMPEG]) - PKG_REQUIRES="$PKG_REQUIRES ffmpeg" + PACKAGE_REQUIRES="$PACKAGE_REQUIRES ffmpeg" elif test ! x$with_ffmpeg = xauto ; then AC_MSG_ERROR([ FFmpeg is required to build this package! @@ -467,7 +469,7 @@ done AC_SUBST(CLIENTS) -AC_SUBST(PKG_REQUIRES) +AC_SUBST(PACKAGE_REQUIRES) AC_CONFIG_FILES([ Makefile |
From: Peter G. <jpg...@gm...> - 2008-04-24 14:36:22
|
On Thu, Apr 24, 2008 at 10:28 AM, Matthew Crane <mc...@no...> wrote: > > On Thu, 2008-04-24 at 09:23 -0400, Mihai Balea wrote: > > > If I can verify that the latest speex AEC works well inside of > > > iaxclient > > > on linux, I might try getting one of the low-latency Windows portaudio > > > implementations working. In regards to the wmme API, you're right -- > > > it's unusable for AEC. > > > > Good luck with that. Just to spare you some pain, I've tried Direct > > Sound, and it does improve AEC performance., but it introduces some > > other issues, such as audio under/overflows. In addition to that, > > Portmixer doesn't work with DirectSound, so you won't have volume > > controls. > > This is my first time compiling code checked out from the svn > repository. When trying to run the autogen.sh script in your echocan > branch, autoconf is generating an error when it comes across > "PKG_REQUIRES": > > configure.ac:213: error: possibly undefined macro: PKG_REQUIRES > If this token and others are legitimate, please use > m4_pattern_allow. > See the Autoconf documentation. > > Any clue what I need to do to fix this issue? I've got pkgconfig > installed on my system as well as the necessary version of autoconf. Perhaps it is complaining because the PKG_REQUIRES variable is being referenced before it is ever declared. Try writing PKG_REQUIRES="" somewhere before line 213 (e.g. 207). Pete |
From: Matthew C. <mc...@no...> - 2008-04-24 14:28:38
|
On Thu, 2008-04-24 at 09:23 -0400, Mihai Balea wrote: > > If I can verify that the latest speex AEC works well inside of > > iaxclient > > on linux, I might try getting one of the low-latency Windows portaudio > > implementations working. In regards to the wmme API, you're right -- > > it's unusable for AEC. > > Good luck with that. Just to spare you some pain, I've tried Direct > Sound, and it does improve AEC performance., but it introduces some > other issues, such as audio under/overflows. In addition to that, > Portmixer doesn't work with DirectSound, so you won't have volume > controls. This is my first time compiling code checked out from the svn repository. When trying to run the autogen.sh script in your echocan branch, autoconf is generating an error when it comes across "PKG_REQUIRES": configure.ac:213: error: possibly undefined macro: PKG_REQUIRES If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. Any clue what I need to do to fix this issue? I've got pkgconfig installed on my system as well as the necessary version of autoconf. -Matt > Let us know how it goes... > > Mihai |
From: Mihai B. <mi...@ha...> - 2008-04-24 13:23:37
|
> If I can verify that the latest speex AEC works well inside of > iaxclient > on linux, I might try getting one of the low-latency Windows portaudio > implementations working. In regards to the wmme API, you're right -- > it's unusable for AEC. Good luck with that. Just to spare you some pain, I've tried Direct Sound, and it does improve AEC performance., but it introduces some other issues, such as audio under/overflows. In addition to that, Portmixer doesn't work with DirectSound, so you won't have volume controls. Let us know how it goes... Mihai |
From: Matthew C. <mc...@no...> - 2008-04-24 13:11:19
|
On Wed, 2008-04-23 at 23:46 -0400, Mihai Balea wrote: > On Apr 23, 2008, at 6:06 PM, Peter Grayson wrote: > > > Hi Matt, > > > > On Wed, Apr 23, 2008 at 4:39 PM, Matthew Crane <mc...@no...> > > wrote: > >> On Wed, 2008-04-23 at 13:57 -0600, Matthew Crane wrote: > >>> Hello all: > >>> > >>> I'm investigating how well the speex echo canceller works in the 2.1 > >>> branch of iaxclient. Whenever I turn on the speex AEC in our > >>> client, > >>> the audio that is sent by the client. > >> > >> Sorry... that last sentence should read, "...the audio that is sent > >> by > >> the client is almost completely unintelligible." > >> > >>> Has anyone tested the performance of the speex echo canceller with 8 > >>> kHz-sampled audio? > > > > I've got a patch that's been sat upon for quite a while now that > > begins integrating the new (or at least greatly improved) speex aec > > module (introduced in speex-1.2beta2) into iaxclient. I've been > > holding off committing these changes because the results have really > > only been verified to be good on Mac. However, I think this code goes > > in the right direction. Even when the AEC fails to cancel echo, it > > doesn't make things sound worse. > > You can actually find this code in branches/team/mihai/echocan. > As Pete said, performance is pretty good on Mac. On windows it seems > that it does not work, but at least it doesn't make things worse. > The reason seems to be related to crappines in Windows' audio APIs. > Performance on Linux has not been tested (at least not by me) > Anyways, bottom line is the code currently in trunk does not have > functioning AEC > Thanks Pete and Mihai. I'll have a look at the branch. For some reason, I assumed that the requirement for speex-1.2beta3 in the 2.1beta of iaxclient was because of AEC. :-) If I can verify that the latest speex AEC works well inside of iaxclient on linux, I might try getting one of the low-latency Windows portaudio implementations working. In regards to the wmme API, you're right -- it's unusable for AEC. -Matt |
From: Mihai B. <mi...@ha...> - 2008-04-24 03:46:22
|
On Apr 23, 2008, at 6:06 PM, Peter Grayson wrote: > Hi Matt, > > On Wed, Apr 23, 2008 at 4:39 PM, Matthew Crane <mc...@no...> > wrote: >> On Wed, 2008-04-23 at 13:57 -0600, Matthew Crane wrote: >>> Hello all: >>> >>> I'm investigating how well the speex echo canceller works in the 2.1 >>> branch of iaxclient. Whenever I turn on the speex AEC in our >>> client, >>> the audio that is sent by the client. >> >> Sorry... that last sentence should read, "...the audio that is sent >> by >> the client is almost completely unintelligible." >> >>> Has anyone tested the performance of the speex echo canceller with 8 >>> kHz-sampled audio? > > I've got a patch that's been sat upon for quite a while now that > begins integrating the new (or at least greatly improved) speex aec > module (introduced in speex-1.2beta2) into iaxclient. I've been > holding off committing these changes because the results have really > only been verified to be good on Mac. However, I think this code goes > in the right direction. Even when the AEC fails to cancel echo, it > doesn't make things sound worse. You can actually find this code in branches/team/mihai/echocan. As Pete said, performance is pretty good on Mac. On windows it seems that it does not work, but at least it doesn't make things worse. The reason seems to be related to crappines in Windows' audio APIs. Performance on Linux has not been tested (at least not by me) Anyways, bottom line is the code currently in trunk does not have functioning AEC Cheers Mihai |
From: Peter G. <jpg...@gm...> - 2008-04-23 22:06:27
|
Hi Matt, On Wed, Apr 23, 2008 at 4:39 PM, Matthew Crane <mc...@no...> wrote: > On Wed, 2008-04-23 at 13:57 -0600, Matthew Crane wrote: > > Hello all: > > > > I'm investigating how well the speex echo canceller works in the 2.1 > > branch of iaxclient. Whenever I turn on the speex AEC in our client, > > the audio that is sent by the client. > > Sorry... that last sentence should read, "...the audio that is sent by > the client is almost completely unintelligible." > > > Has anyone tested the performance of the speex echo canceller with 8 > > kHz-sampled audio? I've got a patch that's been sat upon for quite a while now that begins integrating the new (or at least greatly improved) speex aec module (introduced in speex-1.2beta2) into iaxclient. I've been holding off committing these changes because the results have really only been verified to be good on Mac. However, I think this code goes in the right direction. Even when the AEC fails to cancel echo, it doesn't make things sound worse. This patch was originally developed by Mihai and I've been using for quite a while now. I believe that there are some general audio quality improvements derived from this patch also. Specifically, there are some compatibility fixes for speex-1.2beta3's agc interface. In the next couple days I will merge this updated AEC patch into trunk. Pete |
From: Matthew C. <mc...@no...> - 2008-04-23 20:39:42
|
On Wed, 2008-04-23 at 13:57 -0600, Matthew Crane wrote: > Hello all: > > I'm investigating how well the speex echo canceller works in the 2.1 > branch of iaxclient. Whenever I turn on the speex AEC in our client, > the audio that is sent by the client. Sorry... that last sentence should read, "...the audio that is sent by the client is almost completely unintelligible." > Has anyone tested the performance of the speex echo canceller with 8 > kHz-sampled audio? > > -Matt > -- > Matthew Crane > Senior Software Engineer > Novell, Inc. > mc...@no... > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Iaxclient-devel mailing list > Iax...@li... > https://lists.sourceforge.net/lists/listinfo/iaxclient-devel |
From: Matthew C. <mc...@no...> - 2008-04-23 19:57:58
|
Hello all: I'm investigating how well the speex echo canceller works in the 2.1 branch of iaxclient. Whenever I turn on the speex AEC in our client, the audio that is sent by the client. Has anyone tested the performance of the speex echo canceller with 8 kHz-sampled audio? -Matt -- Matthew Crane Senior Software Engineer Novell, Inc. mc...@no... |
From: Alexander V. <ava...@vo...> - 2008-04-23 16:38:57
|
You are welcome, Pete :) Thank you for the fast response. Greets Alex Peter Grayson wrote: > Hi Alex, > > Thank you for your help with this patch. I have committed the changes to trunk. > > I will be merging this change along with several others into the 2.1 > branch in the near future. > > Pete > > On Wed, Apr 23, 2008 at 11:06 AM, Alexander Vassilev > <ava...@vo...> wrote: > >> Hello Pete, >> >> >> >>> Please let me know if you think this updated patch is okay. >>> >>> >>> >> Yes, I have mistaken the mask, and yes, it is actually not necessary :) >> Also thanks for removing the duplicate code, actually I followed the pattern >> of my code and there I log the type of frame for which the session was not >> found, hence the duplication here. So you can commit the patch. >> >> Thank you! >> Alex >> >> > > |
From: Peter G. <jpg...@gm...> - 2008-04-23 15:35:08
|
Hi Alex, Thank you for your help with this patch. I have committed the changes to trunk. I will be merging this change along with several others into the 2.1 branch in the near future. Pete On Wed, Apr 23, 2008 at 11:06 AM, Alexander Vassilev <ava...@vo...> wrote: > Hello Pete, > > > > Please let me know if you think this updated patch is okay. > > > > > Yes, I have mistaken the mask, and yes, it is actually not necessary :) > Also thanks for removing the duplicate code, actually I followed the pattern > of my code and there I log the type of frame for which the session was not > found, hence the duplication here. So you can commit the patch. > > Thank you! > Alex > |
From: Alexander V. <ava...@vo...> - 2008-04-23 15:07:06
|
Hello Pete, > Please let me know if you think this updated patch is okay. > Yes, I have mistaken the mask, and yes, it is actually not necessary :) Also thanks for removing the duplicate code, actually I followed the pattern of my code and there I log the type of frame for which the session was not found, hence the duplication here. So you can commit the patch. Thank you! Alex |
From: Peter G. <jpg...@gm...> - 2008-04-23 14:46:49
|
Hi Alex, On Tue, Apr 22, 2008 at 6:14 PM, Alexander Vassilev <ava...@vo...> wrote: > Actually, in the updated patch I didn't include one change, so here is again > an update, hopefully the last one I've reviewed the latest patch. Thank you so much for sending it! It certainly addresses real issues. There were a couple problems with the patch. A trivial problem was that the whitespace was inconsistent. A more important problem was that a mask was wrong: - /* audio frame */ - session = iax_find_session(sin, ntohs(fh->scallno), 0, 0); + /*its a mini audio frame */ + session = iax_find_session(sin, ntohs(mh->callno) & ~0x800, 0, 0); I think you meant ~0x8000. This mask actually isn't necessary though because we've already determined that the full flag is 0. I am attaching an updated patch that I think resolves these two issues. I also moved the "No session?" failure code to the bottom of the function to reduce duplication. Please let me know if you think this updated patch is okay. Thanks! Pete |
From: Mats B. <ma...@gm...> - 2008-04-23 14:32:52
|
On Wed, Apr 23, 2008 at 3:03 PM, Peter Grayson <jpg...@gm...> wrote: > > > > > > The TEA_ADD_LIBS line should list the libraries in this order: > > > -liaxclient -lportaudio -lspeex -lspeexdsp. > > > > > > > I had absolutely no idea this mattered. Now I know. > > Many Thanks. This puts us much further and I don't get > > complaints about missing speex symbols. > > The link stage now reads: > > gcc -pipe -shared -o libtcliaxclient0.2.so iaxclient.o tones.o > > XThreadUtil.o -liaxclient -lportaudio -lspeex -lspeexdsp -lpthread > > -lasound -L/usr/local/lib -ltclstub8.5 > > > > However, I get > > undefined symbol: clock_gettime > > > > which seems to have something to do with my old linux kernel: > > http://ussg.iu.edu/hypermail/linux/net/0304.1/0007.html > > This symbol comes from librt (-lrt). > I added this to configure.in, did autoconf, and rebuilt. Linkage looks like: gcc -pipe -shared -o libtcliaxclient0.2.so iaxclient.o tones.o XThreadUtil.o -liaxclient -lportaudio -lspeex -lspeexdsp -lrt -lpthread -lasound -L/usr/local/lib -ltclstub8.5 So this time I got even further. At least I'm on the right track, but now... This is at least a runtime error. % load /root/C/voip/iaxclient/trunk/contrib/tcl/libtcliaxclient0.2.so Expression 'GetExactSampleRate( hwParams, &defaultSr )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 379 Expression '*idev = open( idevName, flags )' failed in 'src/hostapi/oss/pa_unix_oss.c', line: 810 Expression 'OpenDevices( idevName, odevName, &idev, &odev )' failed in 'src/hostapi/oss/pa_unix_oss.c', line: 864 Expression 'PaOssStream_Initialize( stream, inputParameters, outputParameters, streamCallback, userData, streamFlags, ossHostApi )' failed in 'src/hostapi/oss/pa_unix_oss.c', line: 1239 PortAudio error at Unable to open streams: Invalid error code (value greater than zero) % svn updated Mats |
From: Andrea S. <si...@op...> - 2008-04-23 13:44:35
|
Andrea Suisani wrote: > Mats Bengtsson wrote: [cut] >> However, I get >> undefined symbol: clock_gettime >> >> which seems to have something to do with my old linux kernel: >> http://ussg.iu.edu/hypermail/linux/net/0304.1/0007.html >> Maybe Andrea gets lucky? > > it seems to me that I'd got that error while trying to reproduce > your problem, rebuilding iaxclient from scratch does the trick for me.... > but I'm not 100% sure, I'll try to investigate but don't hold your > breath I'm quite busy lately ;) mmm.... maybe the problem has been gone 'cause I've dropped --disable-shared from iaxclient configure.... andrea |
From: Andrea S. <si...@op...> - 2008-04-23 13:16:17
|
Mats Bengtsson wrote: [cut] > I had absolutely no idea this mattered. Now I know. > Many Thanks. This puts us much further and I don't get > complaints about missing speex symbols. > The link stage now reads: > gcc -pipe -shared -o libtcliaxclient0.2.so iaxclient.o tones.o > XThreadUtil.o -liaxclient -lportaudio -lspeex -lspeexdsp -lpthread > -lasound -L/usr/local/lib -ltclstub8.5 > > However, I get > undefined symbol: clock_gettime > > which seems to have something to do with my old linux kernel: > http://ussg.iu.edu/hypermail/linux/net/0304.1/0007.html > Maybe Andrea gets lucky? it seems to me that I'd got that error while trying to reproduce your problem, rebuilding iaxclient from scratch does the trick for me.... but I'm not 100% sure, I'll try to investigate but don't hold your breath I'm quite busy lately ;) > svn updated. many thanks ! andrea |
From: Mats B. <ma...@gm...> - 2008-04-23 12:41:14
|
On Wed, Apr 23, 2008 at 2:12 PM, Peter Grayson <jpg...@gm...> wrote: > > And the .pc files are in their correct place too. Looking at > contrib/tcl/configure.in, I notice three things: > > 1) There is no use of the PKG_CHECK_MODULES macro I just use the Tcl standard build system TEA without knowing much... > 2) The library dependencies are hardcoded (portaudio, speex, speexdsp, > and iaxclient) > 3) The libraries are listed in the opposite order that they should be > -- this could lead to missing symbols. > > The TEA_ADD_LIBS line should list the libraries in this order: > -liaxclient -lportaudio -lspeex -lspeexdsp. > I had absolutely no idea this mattered. Now I know. Many Thanks. This puts us much further and I don't get complaints about missing speex symbols. The link stage now reads: gcc -pipe -shared -o libtcliaxclient0.2.so iaxclient.o tones.o XThreadUtil.o -liaxclient -lportaudio -lspeex -lspeexdsp -lpthread -lasound -L/usr/local/lib -ltclstub8.5 However, I get undefined symbol: clock_gettime which seems to have something to do with my old linux kernel: http://ussg.iu.edu/hypermail/linux/net/0304.1/0007.html Maybe Andrea gets lucky? svn updated. Mats |
From: Peter G. <jpg...@gm...> - 2008-04-23 12:12:26
|
On Wed, Apr 23, 2008 at 2:08 AM, Mats Bengtsson <ma...@gm...> wrote: > On Tue, Apr 22, 2008 at 4:18 PM, Peter Grayson <jpg...@gm...> wrote: > > <snip> > > > > > You don't give many clues as to what might be going wrong. Do you set > > the PKG_CONFIG_PATH when you configure iaxclient? Where do iaxclient's > > dependencies get installed? /usr/local? Do you have different versions > > of speex, portaudio, etc. installed in /usr/lib? > > > > Perhaps I can provide some detailed info of the current state of the > build environment. > Note that I did 'updatedb' to get fresh 'locate' results. > > linux:/usr/local/lib/pkgconfig # env | grep PKG > PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig:/opt/kde3/lib/pkgconfig:/opt/gnome/lib/pkgconfig:/opt/gnome/lib/pkgconfig:/opt/gnome/share/pkgconfig > linux:/usr/local/lib/pkgconfig # ll | grep speex > -rw-r--r-- 1 root root 321210 Apr 16 16:04 libspeex.a > -rwxr-xr-x 1 root root 763 Apr 16 16:04 libspeex.la > -rw-r--r-- 1 root root 217008 Apr 16 16:04 libspeexdsp.a > -rwxr-xr-x 1 root root 772 Apr 16 16:04 libspeexdsp.la > linux:/usr/local/lib/pkgconfig # locate libspeex > /usr/local/lib/libspeex.a > /usr/local/lib/libspeex.la > /usr/local/lib/libspeexdsp.a > /usr/local/lib/libspeexdsp.la > linux:/usr/local/lib/pkgconfig # locate portaudio > /usr/lib/ooo-2.0/program/libportaudio.so > /usr/lib/ooo-2.0/program/libportaudio.so.0 > /usr/lib/ooo-2.0/program/libportaudio.so.0.0.18 > /usr/local/include/portaudio.h > /usr/local/lib/libportaudio.a > /usr/local/lib/libportaudio.la > /usr/local/lib/pkgconfig/portaudio-2.0.pc Okay, so you've got just the static libraries installed in /usr/local -- that's good. > linux:/usr/local/lib/pkgconfig # cat * > prefix=/usr/local > exec_prefix=${prefix} > libdir=${exec_prefix}/lib > includedir=${prefix}/include > > Name: iaxclient > Description: Inter-Asterisk eXchange Client Library > Version: 2.x-trunk > Libs: -L${libdir} -liaxclient > Libs.private: > Cflags: -I${includedir} > Requires.private: portaudio-2.0 speex > > prefix=/usr/local > exec_prefix=${prefix} > libdir=${exec_prefix}/lib > includedir=${prefix}/include > > Name: PortAudio > Description: Portable audio I/O > Requires: > Version: 19 > > Libs: -L${libdir} -lportaudio -lm -lpthread > Cflags: -I${includedir} -pthread > # libspeex pkg-config source file > > prefix=/usr/local > exec_prefix=${prefix} > libdir=${exec_prefix}/lib > includedir=${prefix}/include > > Name: speex > Description: Speex is an audio codec tuned for speech > Version: 1.2beta3 > Requires: > Conflicts: > Libs: -L${libdir} -lspeex -lm > Cflags: -I${includedir} > # libspeexdsp pkg-config source file > > prefix=/usr/local > exec_prefix=${prefix} > libdir=${exec_prefix}/lib > includedir=${prefix}/include > > Name: speexdsp > Description: Speexdsp is a speech processing library that goes along > with the Speex codec > Version: 1.2beta3 > Requires: > Conflicts: > Libs: -L${libdir} -lspeexdsp -lm > Cflags: -I${includedir} And the .pc files are in their correct place too. Looking at contrib/tcl/configure.in, I notice three things: 1) There is no use of the PKG_CHECK_MODULES macro 2) The library dependencies are hardcoded (portaudio, speex, speexdsp, and iaxclient) 3) The libraries are listed in the opposite order that they should be -- this could lead to missing symbols. The TEA_ADD_LIBS line should list the libraries in this order: -liaxclient -lportaudio -lspeex -lspeexdsp. > It seems that speex is indeed statically linked but still missing (at > least) one speex symbol: > > linux:~/C/voip/iaxclient/trunk/contrib/tcl # ldd libtcliaxclient0.2.so > > linux-gate.so.1 => (0xffffe000) > libpthread.so.0 => /lib/tls/libpthread.so.0 (0x40052000) > libasound.so.2 => /usr/lib/libasound.so.2 (0x40065000) > libc.so.6 => /lib/tls/libc.so.6 (0x40123000) > > /lib/ld-linux.so.2 (0x80000000) > libm.so.6 => /lib/tls/libm.so.6 (0x40242000) > libdl.so.2 => /lib/libdl.so.2 (0x40268000) > libresmgr.so.1 => /lib/libresmgr.so.1 (0x4026c000) I am assuming that you are missing the same symbol Andrea mentioned in his last email: speex_preprocess_ctl. > > You should know that this whole exercise of building a shared object > > with no shared object dependencies is much like swimming upstream. The > > build tools are all geared towards either building things statically > > or building things shared, but not mixing the two in this way. I am > > curious as to why it is so important to avoid these dynamic link > > dependencies -- especially on linux? > > > > We must be sure of which versions of speex and portaudio we are using > to avoid the "dll hell". > This is not so strange since it is exactly how it worked with the old > iaxclient build system > where speex and portaudio were compiled together with iaxclient code. I don't think it's so strange to want to statically link like this. However, this static linking paradigm conflicts with what a downstream distribution packager would need to ship this package with a Linux distribution. I didn't know if you were concerned about helping potential downstream packagers. Pete |