diff options
Diffstat (limited to 'audio/out/ao_coreaudio_properties.h')
-rw-r--r-- | audio/out/ao_coreaudio_properties.h | 43 |
1 files changed, 26 insertions, 17 deletions
diff --git a/audio/out/ao_coreaudio_properties.h b/audio/out/ao_coreaudio_properties.h index 8f7cc2907b..88ba889c29 100644 --- a/audio/out/ao_coreaudio_properties.h +++ b/audio/out/ao_coreaudio_properties.h @@ -21,29 +21,38 @@ #include <AudioToolbox/AudioToolbox.h> -OSStatus ca_get(AudioObjectID id, AudioObjectPropertySelector selector, +// CoreAudio names are way too verbose +#define ca_sel AudioObjectPropertySelector +#define ca_scope AudioObjectPropertyScope +#define CA_GLOBAL kAudioObjectPropertyScopeGlobal +#define CA_OUTPUT kAudioObjectPropertyScopeOutput + +OSStatus ca_get(AudioObjectID id, ca_scope scope, ca_sel selector, + uint32_t size, void *data); + +OSStatus ca_set(AudioObjectID id, ca_scope scope, ca_sel selector, uint32_t size, void *data); -#define CA_GET(id, selector, data) ca_get(id, selector, sizeof(*(data)), data) +#define CA_GET(id, sel, data) ca_get(id, CA_GLOBAL, sel, sizeof(*(data)), data) +#define CA_SET(id, sel, data) ca_set(id, CA_GLOBAL, sel, sizeof(*(data)), data) + +OSStatus ca_get_ary(AudioObjectID id, ca_scope scope, ca_sel selector, + uint32_t element_size, void **data, size_t *elements); + +#define CA_GET_ARY(id, sel, data, elements) \ + ca_get_ary(id, CA_GLOBAL, sel, sizeof(**(data)), (void **)data, elements) -uint32_t GetAudioPropertyArray(AudioObjectID id, - AudioObjectPropertySelector selector, - AudioObjectPropertyScope scope, void **data); +#define CA_GET_ARY_O(id, sel, data, elements) \ + ca_get_ary(id, CA_OUTPUT, sel, sizeof(**(data)), (void **)data, elements) -uint32_t GetGlobalAudioPropertyArray(AudioObjectID id, - AudioObjectPropertySelector selector, - void **data); +OSStatus ca_get_str(AudioObjectID id, ca_scope scope,ca_sel selector, + char **data); -OSStatus GetAudioPropertyString(AudioObjectID id, - AudioObjectPropertySelector selector, - char **data); +#define CA_GET_STR(id, sel, data) ca_get_str(id, CA_GLOBAL, sel, data) -OSStatus SetAudioProperty(AudioObjectID id, - AudioObjectPropertySelector selector, - uint32_t size, void *data); +Boolean ca_settable(AudioObjectID id, ca_scope scope, ca_sel selector, + Boolean *data); -Boolean IsAudioPropertySettable(AudioObjectID id, - AudioObjectPropertySelector selector, - Boolean *outData); +#define CA_SETTABLE(id, sel, data) ca_settable(id, CA_GLOBAL, sel, data) #endif /* MPV_COREAUDIO_PROPERTIES_H */ |