Merge pull request #338 from hoolrory/ticket_218_2

Replace usage of deprecated component manager APIs on 10.6+
This commit is contained in:
Phil Burk 2020-10-28 17:32:30 -07:00 committed by GitHub
commit 88c71a6ec4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

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 )