mirror of
https://github.com/libretro/RetroArch
synced 2025-03-01 16:13:40 +00:00
(coreAudio) Use TARGET_OS_IPHONE
This commit is contained in:
parent
8d2aece5b9
commit
943cb952a7
@ -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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user