(coreAudio) Use TARGET_OS_IPHONE

This commit is contained in:
twinaphex 2015-06-02 11:09:54 +02:00
parent 8d2aece5b9
commit 943cb952a7

View File

@ -21,10 +21,10 @@
#include <boolean.h> #include <boolean.h>
#include <pthread.h> #include <pthread.h>
#ifdef OSX #if TARGET_OS_IPHONE
#include <CoreAudio/CoreAudio.h>
#else
#include <AudioToolbox/AudioToolbox.h> #include <AudioToolbox/AudioToolbox.h>
#else
#include <CoreAudio/CoreAudio.h>
#endif #endif
#include <CoreAudio/CoreAudioTypes.h> #include <CoreAudio/CoreAudioTypes.h>
@ -128,7 +128,7 @@ static OSStatus audio_write_cb(void *userdata,
return noErr; return noErr;
} }
#ifdef OSX #ifndef TARGET_OS_IPHONE
static void choose_output_device(coreaudio_t *dev, const char* device) static void choose_output_device(coreaudio_t *dev, const char* device)
{ {
unsigned i; unsigned i;
@ -175,9 +175,7 @@ static void choose_output_device(coreaudio_t *dev, const char* device)
done: done:
free(devices); free(devices);
} }
#endif #else
#ifdef IOS
static void coreaudio_interrupt_listener(void *data, UInt32 interrupt_state) static void coreaudio_interrupt_listener(void *data, UInt32 interrupt_state)
{ {
(void)data; (void)data;
@ -196,7 +194,7 @@ static void *coreaudio_init(const char *device,
#else #else
AudioComponent comp; AudioComponent comp;
#endif #endif
#ifndef IOS #ifndef TARGET_OS_IPHONE
AudioChannelLayout layout = {0}; AudioChannelLayout layout = {0};
#endif #endif
AURenderCallbackStruct cb = {0}; AURenderCallbackStruct cb = {0};
@ -220,7 +218,7 @@ static void *coreaudio_init(const char *device,
pthread_mutex_init(&dev->lock, NULL); pthread_mutex_init(&dev->lock, NULL);
pthread_cond_init(&dev->cond, NULL); pthread_cond_init(&dev->cond, NULL);
#ifdef IOS #if TARGET_OS_IPHONE
if (!session_initialized) if (!session_initialized)
{ {
session_initialized = true; session_initialized = true;
@ -231,7 +229,7 @@ static void *coreaudio_init(const char *device,
/* Create AudioComponent */ /* Create AudioComponent */
desc.componentType = kAudioUnitType_Output; desc.componentType = kAudioUnitType_Output;
#ifdef IOS #if TARGET_OS_IPHONE
desc.componentSubType = kAudioUnitSubType_RemoteIO; desc.componentSubType = kAudioUnitSubType_RemoteIO;
#else #else
desc.componentSubType = kAudioUnitSubType_HALOutput; desc.componentSubType = kAudioUnitSubType_HALOutput;
@ -253,7 +251,7 @@ static void *coreaudio_init(const char *device,
#endif #endif
goto error; goto error;
#ifdef OSX #ifndef TARGET_OS_IPHONE
if (device) if (device)
choose_output_device(dev, device); choose_output_device(dev, device);
#endif #endif
@ -296,7 +294,7 @@ static void *coreaudio_init(const char *device,
settings->audio.out_rate = real_desc.mSampleRate; settings->audio.out_rate = real_desc.mSampleRate;
/* Set channel layout (fails on iOS). */ /* Set channel layout (fails on iOS). */
#ifndef IOS #ifndef TARGET_OS_IPHONE
layout.mChannelLayoutTag = kAudioChannelLayoutTag_Stereo; layout.mChannelLayoutTag = kAudioChannelLayoutTag_Stereo;
if (AudioUnitSetProperty(dev->dev, kAudioUnitProperty_AudioChannelLayout, if (AudioUnitSetProperty(dev->dev, kAudioUnitProperty_AudioChannelLayout,
kAudioUnitScope_Input, 0, &layout, sizeof(layout)) != noErr) kAudioUnitScope_Input, 0, &layout, sizeof(layout)) != noErr)
@ -342,7 +340,7 @@ static ssize_t coreaudio_write(void *data, const void *buf_, size_t size)
const uint8_t *buf = (const uint8_t*)buf_; const uint8_t *buf = (const uint8_t*)buf_;
size_t written = 0; size_t written = 0;
#ifdef IOS #if TARGET_OS_IPHONE
struct timespec timeout; struct timespec timeout;
struct timeval time; struct timeval time;
@ -374,7 +372,7 @@ static ssize_t coreaudio_write(void *data, const void *buf_, size_t size)
break; break;
} }
#ifdef IOS #if TARGET_OS_IPHONE
if (write_avail == 0 && pthread_cond_timedwait( if (write_avail == 0 && pthread_cond_timedwait(
&dev->cond, &dev->lock, &timeout) == ETIMEDOUT) &dev->cond, &dev->lock, &timeout) == ETIMEDOUT)
g_interrupted = true; g_interrupted = true;