Mercurial > hg > sv-dependency-builds
changeset 163:5cc1366da2e9
Apply patch from Tim Bunnell on PortAudio mailing list (2016-12-28, Mac 10.11 deprecation warning)
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Wed, 30 Oct 2019 11:28:45 +0000 |
parents | d43aab368df9 |
children | 9fa11135915a 7e6e71a29886 |
files | src/portaudio_20161030_catalina_patch/src/hostapi/coreaudio/pa_mac_core.c src/portaudio_20161030_catalina_patch/src/hostapi/coreaudio/pa_mac_core_internal.h |
diffstat | 2 files changed, 47 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/portaudio_20161030_catalina_patch/src/hostapi/coreaudio/pa_mac_core.c Wed Oct 30 11:25:10 2019 +0000 +++ b/src/portaudio_20161030_catalina_patch/src/hostapi/coreaudio/pa_mac_core.c Wed Oct 30 11:28:45 2019 +0000 @@ -299,7 +299,11 @@ UInt32 *actualInputFramesPerBuffer, UInt32 *actualOutputFramesPerBuffer, const PaMacAUHAL *auhalHostApi, +#ifndef AUDIO_COMPONENT_FIX AudioUnit *audioUnit, +#else + AudioComponentInstance *audioUnit, +#endif AudioConverterRef *srConverter, AudioDeviceID *audioDevice, const double sampleRate, @@ -314,7 +318,11 @@ */ static void startStopCallback( void * inRefCon, +#ifndef AUDIO_COMPONENT_FIX AudioUnit ci, +#else + AudioComponentInstance ci, +#endif AudioUnitPropertyID inID, AudioUnitScope inScope, AudioUnitElement inElement ) @@ -1167,14 +1175,23 @@ UInt32 *actualInputFramesPerBuffer, UInt32 *actualOutputFramesPerBuffer, const PaMacAUHAL *auhalHostApi, +#ifndef AUDIO_COMPONENT_FIX AudioUnit *audioUnit, +#else + AudioComponentInstance *audioUnit, +#endif AudioConverterRef *srConverter, AudioDeviceID *audioDevice, const double sampleRate, void *refCon ) { +#ifndef AUDIO_COMPONENT_FIX ComponentDescription desc; Component comp; +#else + AudioComponentDescription desc; + AudioComponent comp; +#endif /*An Apple TN suggests using CAStreamBasicDescription, but that is C++*/ AudioStreamBasicDescription desiredFormat; OSStatus result = noErr; @@ -1244,8 +1261,13 @@ desc.componentManufacturer = kAudioUnitManufacturer_Apple; desc.componentFlags = 0; desc.componentFlagsMask = 0; + /* -- find the component -- */ +#ifndef AUDIO_COMPONENT_FIX comp = FindNextComponent( NULL, &desc ); +#else + comp = AudioComponentFindNext( NULL, &desc ); +#endif if( !comp ) { DBUG( ( "AUHAL component not found." ) ); @@ -1254,7 +1276,11 @@ return paUnanticipatedHostError; } /* -- open it -- */ - result = OpenAComponent( comp, audioUnit ); +#ifndef AUDIO_COMPONENT_FIX + result = OpenAComponent(comp, audioUnit); +#else + result = AudioComponentInstanceNew(comp, audioUnit); +#endif if( result ) { DBUG( ( "Failed to open AUHAL component." ) ); @@ -1607,7 +1633,11 @@ #undef ERR_WRAP error: +#ifndef AUDIO_COMPONENT_FIX CloseComponent( *audioUnit ); +#else + AudioComponentInstanceDispose( *audioUnit ); +#endif *audioUnit = NULL; if( result ) return PaMacCore_SetError( result, line, 1 ); @@ -2645,13 +2675,21 @@ } if( stream->outputUnit && stream->outputUnit != stream->inputUnit ) { AudioUnitUninitialize( stream->outputUnit ); +#ifndef AUDIO_COMPONENT_FIX CloseComponent( stream->outputUnit ); +#else + AudioComponentInstanceDispose( stream->outputUnit ); +#endif } stream->outputUnit = NULL; if( stream->inputUnit ) { AudioUnitUninitialize( stream->inputUnit ); +#ifndef AUDIO_COMPONENT_FIX CloseComponent( stream->inputUnit ); +#else + AudioComponentInstanceDispose( stream->inputUnit ); +#endif stream->inputUnit = NULL; } if( stream->inputRingBuffer.buffer )
--- a/src/portaudio_20161030_catalina_patch/src/hostapi/coreaudio/pa_mac_core_internal.h Wed Oct 30 11:25:10 2019 +0000 +++ b/src/portaudio_20161030_catalina_patch/src/hostapi/coreaudio/pa_mac_core_internal.h Wed Oct 30 11:28:45 2019 +0000 @@ -63,6 +63,9 @@ #include <CoreAudio/CoreAudio.h> #include <CoreServices/CoreServices.h> +#ifdef AUDIO_COMPONENT_FIX +#include <AudioUnit/AudioComponent.h> +#endif #include <AudioUnit/AudioUnit.h> #include <AudioToolbox/AudioToolbox.h> @@ -139,8 +142,13 @@ /* implementation specific data goes here */ bool bufferProcessorIsInitialized; +#ifndef AUDIO_COMPONENT_FIX AudioUnit inputUnit; AudioUnit outputUnit; +#else + AudioComponentInstance inputUnit; + AudioComponentInstance outputUnit; +#endif AudioDeviceID inputDevice; AudioDeviceID outputDevice; size_t userInChan;