PortAudio needs work on Mac OS X 10.6
I'm trying to get through the noobie tutorial that c888 recommends in IRC, but PortAudio doesn't seem to build properly on Mac OS X 10.6. It failed due to some code that wasn't 64bit ready, apparently. The error I got was exactly the same as this 4 month old error from MacPorts: http://trac.macports.org/ticket/20338#comment:4 Someone there produced the following patch, which almost got me going again: http://trac.macports.org/changeset/53938 This has to be manually applied because the line numbers don't match up between the MacPorts and FreeSWITCH versions of PortAudio. At least, not in the configure script. This still doesn't quite get portaudio built, but I found a suggestion to configure it with -- disable-shared here: http://music.columbia.edu/pipermail/portaudio/2008-February/008188.html This finally got me to the point of having a compiled version of portaudio, but of course with that much hacking around nothing is going to go smoothly, is it. I can boot freeswitch fine and 'load mod_portaudio' seems to work, but when I try to hear some MOH output, I get this: freeswitch@Media-Centre.local> pa call 9999 2009-11-08 00:50:51.894512 [NOTICE] switch_channel.c:613 New Channel portaudio/9999 [3079018b-0df8-4c61-bffa-2f2eb681d06d] Assertion failed: (sizeof( UInt32 ) == sizeof( long )), function ringBufferIOProc, file src/hostapi/coreaudio/pa_mac_core.c, line 1713. I'd be happy to poke around on the PortAudio site and see if there is any useful information or patches there, but it's really late now so I just wanted to document where I've gotten to in case someone else has the same problem or a better clue on how to fix things. This is all using version 15396 out of subversion, if it matters. Thanks, - Bruce
The problem is the patch isn't backwards compatible and blows away any chance of being so. We have looked at this... and that patch IS NOT RIGHT. /b On Nov 8, 2009, at 3:12 AM, Bruce Fletcher wrote:
I'm trying to get through the noobie tutorial that c888 recommends in IRC, but PortAudio doesn't seem to build properly on Mac OS X 10.6. It failed due to some code that wasn't 64bit ready, apparently. The error I got was exactly the same as this 4 month old error from MacPorts:
http://trac.macports.org/ticket/20338#comment:4
Someone there produced the following patch, which almost got me going again:
http://trac.macports.org/changeset/53938
This has to be manually applied because the line numbers don't match up between the MacPorts and FreeSWITCH versions of PortAudio. At least, not in the configure script. This still doesn't quite get portaudio built, but I found a suggestion to configure it with -- disable-shared here:
http://music.columbia.edu/pipermail/portaudio/2008-February/008188.html
This finally got me to the point of having a compiled version of portaudio, but of course with that much hacking around nothing is going to go smoothly, is it. I can boot freeswitch fine and 'load mod_portaudio' seems to work, but when I try to hear some MOH output, I get this:
freeswitch@Media-Centre.local> pa call 9999 2009-11-08 00:50:51.894512 [NOTICE] switch_channel.c:613 New Channel portaudio/9999 [3079018b-0df8-4c61-bffa-2f2eb681d06d] Assertion failed: (sizeof( UInt32 ) == sizeof( long )), function ringBufferIOProc, file src/hostapi/coreaudio/pa_mac_core.c, line 1713.
I'd be happy to poke around on the PortAudio site and see if there is any useful information or patches there, but it's really late now so I just wanted to document where I've gotten to in case someone else has the same problem or a better clue on how to fix things.
This is all using version 15396 out of subversion, if it matters.
Thanks, - Bruce
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch- users http://www.freeswitch.org
OK, I'll ignore that MacPorts patch for now and try to find a better approach. I'll look into this further tonight, but this morning I found a more recent promising patch on the PortAudio site: http://www.portaudio.com/trac/changeset/1418 It seems to push some data types to 32 bit regardless of platform, which might work better than the MacPorts approach of migrating some data structures to 64 bit. At any rate, this patch being on the PortAudio site suggests it might be a more approved fix. I'll keep plugging at this in my free time and report any significant progress back to the list. Thanks, - Bruce On 2009-11-08, at 9:26 AM, Brian West wrote:
The problem is the patch isn't backwards compatible and blows away any chance of being so. We have looked at this... and that patch IS NOT RIGHT.
/b
On Nov 8, 2009, at 3:12 AM, Bruce Fletcher wrote:
I'm trying to get through the noobie tutorial that c888 recommends in IRC, but PortAudio doesn't seem to build properly on Mac OS X 10.6. It failed due to some code that wasn't 64bit ready, apparently. The error I got was exactly the same as this 4 month old error from MacPorts:
http://trac.macports.org/ticket/20338#comment:4
Someone there produced the following patch, which almost got me going again:
http://trac.macports.org/changeset/53938
This has to be manually applied because the line numbers don't match up between the MacPorts and FreeSWITCH versions of PortAudio. At least, not in the configure script. This still doesn't quite get portaudio built, but I found a suggestion to configure it with -- disable-shared here:
http://music.columbia.edu/pipermail/portaudio/2008-February/008188.html
This finally got me to the point of having a compiled version of portaudio, but of course with that much hacking around nothing is going to go smoothly, is it. I can boot freeswitch fine and 'load mod_portaudio' seems to work, but when I try to hear some MOH output, I get this:
freeswitch@Media-Centre.local> pa call 9999 2009-11-08 00:50:51.894512 [NOTICE] switch_channel.c:613 New Channel portaudio/9999 [3079018b-0df8-4c61-bffa-2f2eb681d06d] Assertion failed: (sizeof( UInt32 ) == sizeof( long )), function ringBufferIOProc, file src/hostapi/coreaudio/pa_mac_core.c, line 1713.
I'd be happy to poke around on the PortAudio site and see if there is any useful information or patches there, but it's really late now so I just wanted to document where I've gotten to in case someone else has the same problem or a better clue on how to fix things.
This is all using version 15396 out of subversion, if it matters.
Thanks, - Bruce
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch- users http://www.freeswitch.org
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch- users http://www.freeswitch.org
Hello I am also having trouble with portaudio. I still haven't figured out what it is that is wrong. I have had it working in the past on this same machine same install of debian lenny. Now it just reports [ERR] mod_portaudio.c:964 Cannot find an input device Also seeing this on a fedor 12 64 bit machine but not a sid 64 bit machine or a fedora 11 32 bit machine. I'm not sure if it's the same problem but please do keep me informed about what you find. Thanks --Frank
If you can figure out a clean way for us to do this with proper ifdefs in tree in a way that will not break others that would be the most preferred. Mike On Nov 8, 2009, at 1:03 PM, Bruce Fletcher wrote:
OK, I'll ignore that MacPorts patch for now and try to find a better approach.
I'll look into this further tonight, but this morning I found a more recent promising patch on the PortAudio site:
http://www.portaudio.com/trac/changeset/1418
It seems to push some data types to 32 bit regardless of platform, which might work better than the MacPorts approach of migrating some data structures to 64 bit. At any rate, this patch being on the PortAudio site suggests it might be a more approved fix.
I'll keep plugging at this in my free time and report any significant progress back to the list.
Thanks, - Bruce
The patch from the PortAudio site does get the library to build, but it still fails with the same assertion when I try to play MOH. The patch I'm talking about is this one: http://www.portaudio.com/trac/changeset/1418 If the same build problem applies to other 64 bit systems, it might be a good idea to incorporate this patch. It looks clean and reasonable to me, at least. I've managed to work around the problem entirely by building FreeSWITCH for i386, but I'll go ask the PortAudio folks what the status is of their 64 bit support. They are clearly assuming 32 bit long integers in some places, which is hopefully on a to-fix list somewhere. Thanks, - Bruce On 2009-11-08, at 12:25 PM, Michael Jerris wrote:
If you can figure out a clean way for us to do this with proper ifdefs in tree in a way that will not break others that would be the most preferred.
Mike
On Nov 8, 2009, at 1:03 PM, Bruce Fletcher wrote:
OK, I'll ignore that MacPorts patch for now and try to find a better approach.
I'll look into this further tonight, but this morning I found a more recent promising patch on the PortAudio site:
http://www.portaudio.com/trac/changeset/1418
It seems to push some data types to 32 bit regardless of platform, which might work better than the MacPorts approach of migrating some data structures to 64 bit. At any rate, this patch being on the PortAudio site suggests it might be a more approved fix.
I'll keep plugging at this in my free time and report any significant progress back to the list.
Thanks, - Bruce
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch- users http://www.freeswitch.org
maybe we should write a new audio abstraction lib =D On Mon, Nov 9, 2009 at 2:07 AM, Bruce Fletcher <bruce@nani.ca> wrote:
The patch from the PortAudio site does get the library to build, but it still fails with the same assertion when I try to play MOH. The patch I'm talking about is this one:
http://www.portaudio.com/trac/changeset/1418
If the same build problem applies to other 64 bit systems, it might be a good idea to incorporate this patch. It looks clean and reasonable to me, at least.
I've managed to work around the problem entirely by building FreeSWITCH for i386, but I'll go ask the PortAudio folks what the status is of their 64 bit support. They are clearly assuming 32 bit long integers in some places, which is hopefully on a to-fix list somewhere.
Thanks, - Bruce
On 2009-11-08, at 12:25 PM, Michael Jerris wrote:
If you can figure out a clean way for us to do this with proper ifdefs in tree in a way that will not break others that would be the most preferred.
Mike
On Nov 8, 2009, at 1:03 PM, Bruce Fletcher wrote:
OK, I'll ignore that MacPorts patch for now and try to find a better approach.
I'll look into this further tonight, but this morning I found a more recent promising patch on the PortAudio site:
http://www.portaudio.com/trac/changeset/1418
It seems to push some data types to 32 bit regardless of platform, which might work better than the MacPorts approach of migrating some data structures to 64 bit. At any rate, this patch being on the PortAudio site suggests it might be a more approved fix.
I'll keep plugging at this in my free time and report any significant progress back to the list.
Thanks, - Bruce
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch- users http://www.freeswitch.org
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
Or write one for Mac specifically since PA is fine for all the rest (I think)? JM On Mon, Nov 9, 2009 at 2:50 PM, Anthony Minessale < anthony.minessale@gmail.com> wrote:
maybe we should write a new audio abstraction lib =D
On Mon, Nov 9, 2009 at 2:07 AM, Bruce Fletcher <bruce@nani.ca> wrote:
The patch from the PortAudio site does get the library to build, but it still fails with the same assertion when I try to play MOH. The patch I'm talking about is this one:
http://www.portaudio.com/trac/changeset/1418
If the same build problem applies to other 64 bit systems, it might be a good idea to incorporate this patch. It looks clean and reasonable to me, at least.
I've managed to work around the problem entirely by building FreeSWITCH for i386, but I'll go ask the PortAudio folks what the status is of their 64 bit support. They are clearly assuming 32 bit long integers in some places, which is hopefully on a to-fix list somewhere.
Thanks, - Bruce
On 2009-11-08, at 12:25 PM, Michael Jerris wrote:
If you can figure out a clean way for us to do this with proper ifdefs in tree in a way that will not break others that would be the most preferred.
Mike
On Nov 8, 2009, at 1:03 PM, Bruce Fletcher wrote:
OK, I'll ignore that MacPorts patch for now and try to find a better approach.
I'll look into this further tonight, but this morning I found a more recent promising patch on the PortAudio site:
http://www.portaudio.com/trac/changeset/1418
It seems to push some data types to 32 bit regardless of platform, which might work better than the MacPorts approach of migrating some data structures to 64 bit. At any rate, this patch being on the PortAudio site suggests it might be a more approved fix.
I'll keep plugging at this in my free time and report any significant progress back to the list.
Thanks, - Bruce
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch- users http://www.freeswitch.org
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
-- Anthony Minessale II
FreeSWITCH http://www.freeswitch.org/ ClueCon http://www.cluecon.com/ Twitter: http://twitter.com/FreeSWITCH_wire
AIM: anthm MSN:anthony_minessale@hotmail.com <MSN%3Aanthony_minessale@hotmail.com> GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com<PAYPAL%3Aanthony.minessale@gmail.com> IRC: irc.freenode.net #freeswitch
FreeSWITCH Developer Conference sip:888@conference.freeswitch.org <sip%3A888@conference.freeswitch.org> iax:guest@conference.freeswitch.org/888 googletalk:conf+888@conference.freeswitch.org<googletalk%3Aconf%2B888@conference.freeswitch.org> pstn:213-799-1400
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@lists.freeswitch.org http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
I just want to clarify the status of PortAudio on 64 bit architectures. There is a compile-time problem in pa_dither.c (and .h) that comes from the code not being 64 bit ready. This problem has been patched cleanly here: http://www.portaudio.com/trac/changeset/1418 I think this patch should go into FreeSWITCH because it makes PortAudio compilable and minimally useful on 64 bit platforms. There is a separate 64 bit issue involving PortAudio's Mac interface which shows up at runtime in the function ringBufferIOProc(). Someone marked it as a to-fix issue for 64 bit compiles with the following assertion: assert( sizeof( UInt32 ) == sizeof( long ) ); There is a discussion that just started this weekend about fixing this on the PortAudio mailing list here: http://music.columbia.edu/pipermail/portaudio/2009-November/009581.html It sounds like someone there may fix up this problem soon. I am going to keep tracking that and see if I can help it along. In any event, this problem is unrelated to the pa_dither problem. I just wanted to clarify this so the existing PortAudio patch for pa_dither could possibly be included before 1.05 is released. Thanks, - Bruce
participants (6)
-
Anthony Minessale
-
Brian West
-
Bruce Fletcher
-
Frank Carmickle
-
João Mesquita
-
Michael Jerris