diff options
author | Josh de Kock <josh@itanimul.li> | 2016-04-16 15:33:36 +0100 |
---|---|---|
committer | Josh de Kock <josh@itanimul.li> | 2016-04-16 17:57:58 +0100 |
commit | 79478b79fa2b1612b23a1f7ca535e9675ce8fbff (patch) | |
tree | 78b051c8ab5926a093eb5286cac6363dd9149e68 | |
parent | adc645db169a0418d3b778bf63f4881c97f3ae17 (diff) | |
download | jack1-79478b79fa2b1612b23a1f7ca535e9675ce8fbff.tar.gz |
drivers/coreaudio: update audio components to use new API
-rw-r--r-- | drivers/coreaudio/coreaudio_driver.c | 20 | ||||
-rw-r--r-- | drivers/coreaudio/coreaudio_driver.h | 3 |
2 files changed, 21 insertions, 2 deletions
diff --git a/drivers/coreaudio/coreaudio_driver.c b/drivers/coreaudio/coreaudio_driver.c index 7f16304..72d875e 100644 --- a/drivers/coreaudio/coreaudio_driver.c +++ b/drivers/coreaudio/coreaudio_driver.c @@ -822,12 +822,22 @@ static jack_driver_t *coreaudio_driver_new (char* name, } // AUHAL +#if defined(MAC_OS_X_VERSION_10_6) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 + AudioComponentDescription cd = { kAudioUnitType_Output, kAudioUnitSubType_HALOutput, kAudioUnitManufacturer_Apple, 0, 0 }; + AudioComponent HALOutput = AudioComponentFindNext (NULL, &cd); + err1 = AudioComponentInstanceNew (HALOutput, &driver->au_hal); +#else ComponentDescription cd = { kAudioUnitType_Output, kAudioUnitSubType_HALOutput, kAudioUnitManufacturer_Apple, 0, 0 }; Component HALOutput = FindNextComponent (NULL, &cd); - err1 = OpenAComponent (HALOutput, &driver->au_hal); +#endif + if (err1 != noErr) { +#if defined(MAC_OS_X_VERSION_10_6) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 + jack_error ("Error calling AudioComponentInstanceNew"); +#else jack_error ("Error calling OpenAComponent"); +#endif printError (err1); goto error; } @@ -1001,7 +1011,11 @@ static jack_driver_t *coreaudio_driver_new (char* name, error: AudioUnitUninitialize (driver->au_hal); +#if defined(MAC_OS_X_VERSION_10_6) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 + AudioComponentInstanceDispose (driver->au_hal); +#else CloseComponent (driver->au_hal); +#endif jack_error ("Cannot open the coreaudio driver"); free (driver); return NULL; @@ -1014,7 +1028,11 @@ static void coreaudio_driver_delete (coreaudio_driver_t * driver) AudioDeviceRemovePropertyListener (driver->device_id, 0, true, kAudioDeviceProcessorOverload, notification); free (driver->input_list); AudioUnitUninitialize (driver->au_hal); +#if defined(MAC_OS_X_VERSION_10_6) && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_6 + AudioComponentInstanceDispose (driver->au_hal); +#else CloseComponent (driver->au_hal); +#endif free (driver); } diff --git a/drivers/coreaudio/coreaudio_driver.h b/drivers/coreaudio/coreaudio_driver.h index 211549e..d42598e 100644 --- a/drivers/coreaudio/coreaudio_driver.h +++ b/drivers/coreaudio/coreaudio_driver.h @@ -29,9 +29,10 @@ #define __jack_coreaudio_driver_h__ #include <CoreAudio/CoreAudio.h> +#if !defined(MAC_OS_X_VERSION_10_6) || MAC_OS_X_VERSION_MAX_ALLOWED < MAC_OS_X_VERSION_10_6 #include <AudioToolbox/AudioConverter.h> +#endif #include <AudioUnit/AudioUnit.h> - #include <jack/jack.h> #include <jack/types.h> |