From 148dffda89faf7ecc071bde0d853a1d4a9baef5c Mon Sep 17 00:00:00 2001 From: Daniel Gretarsson Date: Fri, 17 Mar 2023 11:05:09 +0000 Subject: [PATCH] Add stubs for some missing symbols in CoreAudio and AudioToolbox --- .../AudioToolbox/AudioHardwareService.cpp | 26 +++++++++++++++++++ src/CoreAudio/AudioToolbox/CMakeLists.txt | 1 + src/CoreAudio/CoreAudio/CMakeLists.txt | 1 + src/CoreAudio/CoreAudio/HostTime.mm | 8 ++++++ .../AudioToolbox/AudioHardwareService.h | 9 +++++++ .../include/AudioToolbox/AudioToolbox.h | 1 + src/CoreAudio/include/CoreAudio/CoreAudio.h | 1 + src/CoreAudio/include/CoreAudio/HostTime.h | 8 ++++++ 8 files changed, 55 insertions(+) create mode 100644 src/CoreAudio/AudioToolbox/AudioHardwareService.cpp create mode 100644 src/CoreAudio/CoreAudio/HostTime.mm create mode 100644 src/CoreAudio/include/AudioToolbox/AudioHardwareService.h create mode 100644 src/CoreAudio/include/CoreAudio/HostTime.h diff --git a/src/CoreAudio/AudioToolbox/AudioHardwareService.cpp b/src/CoreAudio/AudioToolbox/AudioHardwareService.cpp new file mode 100644 index 000000000..05d0233d0 --- /dev/null +++ b/src/CoreAudio/AudioToolbox/AudioHardwareService.cpp @@ -0,0 +1,26 @@ +#include +#include "stub.h" + +OSStatus AudioHardwareServiceGetPropertyData(AudioObjectID inObjectID, const AudioObjectPropertyAddress *inAddress, UInt32 inQualifierDataSize, const void *inQualifierData, UInt32 *ioDataSize, void *outData) +{ + STUB(); + return unimpErr; +} + +Boolean AudioHardwareServiceHasProperty(AudioObjectID inObjectID, const AudioObjectPropertyAddress *inAddress) +{ + STUB(); + return false; +} + +OSStatus AudioHardwareServiceIsPropertySettable(AudioObjectID inObjectID, const AudioObjectPropertyAddress *inAddress, Boolean *outIsSettable) +{ + STUB(); + return unimpErr; +} + +OSStatus AudioHardwareServiceSetPropertyData(AudioObjectID inObjectID, const AudioObjectPropertyAddress *inAddress, UInt32 inQualifierDataSize, const void *inQualifierData, UInt32 inDataSize, const void *inData) +{ + STUB(); + return unimpErr; +} diff --git a/src/CoreAudio/AudioToolbox/CMakeLists.txt b/src/CoreAudio/AudioToolbox/CMakeLists.txt index 8eeaa9cba..d9042f60d 100644 --- a/src/CoreAudio/AudioToolbox/CMakeLists.txt +++ b/src/CoreAudio/AudioToolbox/CMakeLists.txt @@ -25,6 +25,7 @@ set(audiotoolbox_sources AudioFormat.cpp MusicDevice.cpp AudioToolbox.cpp + AudioHardwareService.cpp ) add_framework(AudioToolbox diff --git a/src/CoreAudio/CoreAudio/CMakeLists.txt b/src/CoreAudio/CoreAudio/CMakeLists.txt index 71fb6b68e..5f10c2f92 100644 --- a/src/CoreAudio/CoreAudio/CMakeLists.txt +++ b/src/CoreAudio/CoreAudio/CMakeLists.txt @@ -7,6 +7,7 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17") set(coreaudio_sources AudioHardware.cpp AudioHardwareImpl.cpp + HostTime.mm pulse/AudioHardwareImplPA.cpp pulse/AudioHardwareImplPAInput.cpp pulse/AudioHardwareImplPAOutput.cpp diff --git a/src/CoreAudio/CoreAudio/HostTime.mm b/src/CoreAudio/CoreAudio/HostTime.mm new file mode 100644 index 000000000..879fb48a1 --- /dev/null +++ b/src/CoreAudio/CoreAudio/HostTime.mm @@ -0,0 +1,8 @@ +#include "CoreAudio/HostTime.h" +#include "stub.h" + +UInt64 AudioGetCurrentHostTime(void) +{ + STUB(); + return 0; +} diff --git a/src/CoreAudio/include/AudioToolbox/AudioHardwareService.h b/src/CoreAudio/include/AudioToolbox/AudioHardwareService.h new file mode 100644 index 000000000..017331c38 --- /dev/null +++ b/src/CoreAudio/include/AudioToolbox/AudioHardwareService.h @@ -0,0 +1,9 @@ +#include +#include + +extern "C"{ +OSStatus AudioHardwareServiceGetPropertyData(AudioObjectID inObjectID, const AudioObjectPropertyAddress *inAddress, UInt32 inQualifierDataSize, const void *inQualifierData, UInt32 *ioDataSize, void *outData); +Boolean AudioHardwareServiceHasProperty(AudioObjectID inObjectID, const AudioObjectPropertyAddress *inAddress); +OSStatus AudioHardwareServiceIsPropertySettable(AudioObjectID inObjectID, const AudioObjectPropertyAddress *inAddress, Boolean *outIsSettable); +OSStatus AudioHardwareServiceSetPropertyData(AudioObjectID inObjectID, const AudioObjectPropertyAddress *inAddress, UInt32 inQualifierDataSize, const void *inQualifierData, UInt32 inDataSize, const void *inData); +} diff --git a/src/CoreAudio/include/AudioToolbox/AudioToolbox.h b/src/CoreAudio/include/AudioToolbox/AudioToolbox.h index f2a0d7922..4e4e948b5 100644 --- a/src/CoreAudio/include/AudioToolbox/AudioToolbox.h +++ b/src/CoreAudio/include/AudioToolbox/AudioToolbox.h @@ -11,6 +11,7 @@ #include #include #include +#include // CA helper classes expect this #include diff --git a/src/CoreAudio/include/CoreAudio/CoreAudio.h b/src/CoreAudio/include/CoreAudio/CoreAudio.h index d483ef80a..fc4aad08c 100644 --- a/src/CoreAudio/include/CoreAudio/CoreAudio.h +++ b/src/CoreAudio/include/CoreAudio/CoreAudio.h @@ -1,4 +1,5 @@ #include #include #include +#include diff --git a/src/CoreAudio/include/CoreAudio/HostTime.h b/src/CoreAudio/include/CoreAudio/HostTime.h new file mode 100644 index 000000000..cbbd0a569 --- /dev/null +++ b/src/CoreAudio/include/CoreAudio/HostTime.h @@ -0,0 +1,8 @@ +#ifndef COREAUDIOHOSTTIME_H +#define COREAUDIOHOSTTIME_H + +#include "MacTypes.h" + +extern "C" UInt64 AudioGetCurrentHostTime(void); + +#endif // COREAUDIOHOSTTIME_H -- 2.51.2