Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#991 closed defect (fixed)

Update to the latest PortAudio (PA) and fix PA issues on MacOS X Snow Leopard (thanks Saul Ibarra Corretge for the fix)

Reported by: nanang Owned by: nanang
Priority: normal Milestone: release-1.5.5
Component: pjmedia-audiodev Version: trunk
Keywords: Cc:
Backport to 1.x milestone: Backported:

Description (last modified by bennylp)

Some errors have been reported on building/running PJSIP on MacOS X Snow Leopard:

src/../../../portaudio/src/hostapi/coreaudio/pa_mac_core.c:510: warning: 'AudioDeviceGetProperty' is deprecated (declared at /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardware.h:2367)
src/../../../portaudio/src/hostapi/coreaudio/pa_mac_core.c: In function 'OpenAndSetupOneAudioUnit':
src/../../../portaudio/src/hostapi/coreaudio/pa_mac_core.c:800: error: 'ComponentDescription' undeclared (first use in this function)
src/../../../portaudio/src/hostapi/coreaudio/pa_mac_core.c:800: error: (Each undeclared identifier is reported only once
src/../../../portaudio/src/hostapi/coreaudio/pa_mac_core.c:800: error: for each function it appears in.)
src/../../../portaudio/src/hostapi/coreaudio/pa_mac_core.c:800: error: expected ';' before 'desc'
src/../../../portaudio/src/hostapi/coreaudio/pa_mac_core.c:801: error: 'Component' undeclared (first use in this function)
src/../../../portaudio/src/hostapi/coreaudio/pa_mac_core.c:801: error: expected ';' before 'comp'
src/../../../portaudio/src/hostapi/coreaudio/pa_mac_core.c:866: error: 'desc' undeclared (first use in this function)
src/../../../portaudio/src/hostapi/coreaudio/pa_mac_core.c:872: error: 'comp' undeclared (first use in this function)

Solution provided by Saul Ibarra Corretge can be found here.

Change History (6)

comment:1 Changed 10 years ago by bennylp

  • Summary changed from PA build issues on Snow Leopard. to Update to the latest PortAudio (PA) and fix PA issues on MacOS X Snow Leopard (thanks Saul Ibarra Corretge for the fix)

comment:2 Changed 10 years ago by bennylp

  • Description modified (diff)

comment:3 Changed 10 years ago by bennylp

In r3042:

  • updated PA to the latest version (revision 1438)

Note that this seems to have broken compilation with Visual Studio 6, which would generate error like this:

pa_win_ds.c
c:\users\benny\project\pjproject\third_party\portaudio\src\hostapi\dsound\pa_win_ds.c(746) : error C2065: 'DSSPEAKER_5POINT1' : undeclared identifier
c:\users\benny\project\pjproject\third_party\portaudio\src\hostapi\dsound\pa_win_ds.c(746) : error C2051: case expression not constant
c:\users\benny\project\pjproject\third_party\portaudio\src\hostapi\dsound\pa_win_ds.c(747) : error C2065: 'DSSPEAKER_7POINT1' : undeclared identifier
c:\users\benny\project\pjproject\third_party\portaudio\src\hostapi\dsound\pa_win_ds.c(747) : error C2051: case expression not constant
c:\users\benny\project\pjproject\third_party\portaudio\src\hostapi\dsound\pa_win_ds.c(748) : error C2065: 'DSSPEAKER_7POINT1_SURROUND' : undeclared identifier
c:\users\benny\project\pjproject\third_party\portaudio\src\hostapi\dsound\pa_win_ds.c(748) : error C2051: case expression not constant

This is because Visual Studio 6 has its own (very old) Direct X SDK.

The solution is to use newer DXSDK, and put the DXSDK Include and Library patch before Visual Studio 6 Include and Library paths in the directory order.

comment:4 Changed 10 years ago by bennylp

  • Resolution set to fixed
  • Status changed from new to closed

comment:5 Changed 10 years ago by bennylp

In r3050:

  • use PortAudio? revision 1433 instead, since PA revision 1434 introduced dependency to newer DirectX SDK (DXSDK v9 2002/2004 edition fails to compile PA)

comment:6 Changed 10 years ago by ismangil

  • Milestone changed from release-1.6 to release-1.5.5
Note: See TracTickets for help on using tickets.