Replace usage of deprecated component manager APIs on 10.6+

These APIs are deprecated in 10.8+ and are disabled on 11.0(10.16)+ https://developer.apple.com/documentation/coreservices/carbon_core/component_manager?language=objc
> "This application, or a library it uses, is using the deprecated Component Manager for hosting Audio Components. This is not supported when rebuilding against the 10.16 or later SDK. Also, this makes the host incompatible with version 3 audio units. Please transition to the API's in AudioComponent.h."
This commit is contained in:
Hool, Rory 2020-10-22 13:53:56 -04:00
commit b1a0902852

View file

@ -1173,8 +1173,13 @@ static PaError OpenAndSetupOneAudioUnit(
const double sampleRate,
void *refCon )
{
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
AudioComponentDescription desc;
AudioComponent comp;
#else
ComponentDescription desc;
Component comp;
#endif
/*An Apple TN suggests using CAStreamBasicDescription, but that is C++*/
AudioStreamBasicDescription desiredFormat;
OSStatus result = noErr;
@ -1245,7 +1250,11 @@ static PaError OpenAndSetupOneAudioUnit(
desc.componentFlags = 0;
desc.componentFlagsMask = 0;
/* -- find the component -- */
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
comp = AudioComponentFindNext( NULL, &desc );
#else
comp = FindNextComponent( NULL, &desc );
#endif
if( !comp )
{
DBUG( ( "AUHAL component not found." ) );
@ -1254,7 +1263,11 @@ static PaError OpenAndSetupOneAudioUnit(
return paUnanticipatedHostError;
}
/* -- open it -- */
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
result = AudioComponentInstanceNew( comp, audioUnit );
#else
result = OpenAComponent( comp, audioUnit );
#endif
if( result )
{
DBUG( ( "Failed to open AUHAL component." ) );
@ -1607,7 +1620,12 @@ static PaError OpenAndSetupOneAudioUnit(
#undef ERR_WRAP
error:
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
AudioComponentInstanceDispose( *audioUnit );
#else
CloseComponent( *audioUnit );
#endif
*audioUnit = NULL;
if( result )
return PaMacCore_SetError( result, line, 1 );
@ -2645,13 +2663,21 @@ static PaError CloseStream( PaStream* s )
}
if( stream->outputUnit && stream->outputUnit != stream->inputUnit ) {
AudioUnitUninitialize( stream->outputUnit );
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
AudioComponentInstanceDispose( stream->outputUnit );
#else
CloseComponent( stream->outputUnit );
#endif
}
stream->outputUnit = NULL;
if( stream->inputUnit )
{
AudioUnitUninitialize( stream->inputUnit );
#if MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_6
AudioComponentInstanceDispose( stream->inputUnit );
#else
CloseComponent( stream->inputUnit );
#endif
stream->inputUnit = NULL;
}
if( stream->inputRingBuffer.buffer )