Commit c0c9349
committed
coreaudio: split implementation by SDK version (pre-10.7 legacy path)
The current implementation uses C11 <stdatomic.h> and Grand Central
Dispatch (<dispatch/dispatch.h>), both of which require 10.6/10.7-era
SDKs and toolchains. On Xcode 3.1 / 10.4-10.5 / PowerPC neither
header exists and the file cannot be compiled at all.
Earlier shim attempts (24157a0, 1c5c124) tried to reimplement the
C11/GCD subset on top of OSAtomic and Mach semaphores, but kept
running into header-visibility issues that are impractical to solve
portably. Simpler approach: pick one of two full implementations at
preprocess time.
- Pre-10.7: restore the pre-rewrite implementation (from 5b9763b)
that uses RetroArch's slock_t/scond_t and fifo_buffer_t. The
audio_driver_t initializer gains a NULL write_raw slot to match
the current struct shape; the frontend's generic resampler
handles what the hardware-accelerated path used to.
- 10.7+: unchanged current code path.
Selected via AvailabilityMacros.h: RARCH_COREAUDIO_LEGACY is defined
when MAC_OS_X_VERSION_10_7 is absent or MIN_REQUIRED < 10.7. Modern
builds are bit-for-bit identical.1 parent 0071a5a commit c0c9349
1 file changed
Lines changed: 450 additions & 0 deletions
0 commit comments