aboutsummaryrefslogtreecommitdiffstats
path: root/alc
diff options
context:
space:
mode:
authorChris Robinson <chris.kcat@gmail.com>2020-02-16 23:49:29 -0800
committerChris Robinson <chris.kcat@gmail.com>2020-02-16 23:49:29 -0800
commit3156b17057569fb8d3074603d8d8b4ba0dd73c57 (patch)
tree6d031182957c77fc9273ccc1f09236732ef931f3 /alc
parent8665f404a5a25525748c7dd59495368c3592fff8 (diff)
Stub out an interface for a callback-driven buffer
Diffstat (limited to 'alc')
-rw-r--r--alc/alc.cpp5
-rw-r--r--alc/inprogext.h17
2 files changed, 22 insertions, 0 deletions
diff --git a/alc/alc.cpp b/alc/alc.cpp
index 52edbe1e..948fbfb1 100644
--- a/alc/alc.cpp
+++ b/alc/alc.cpp
@@ -393,6 +393,11 @@ const struct {
DECL(alEventCallbackSOFT),
DECL(alGetPointerSOFT),
DECL(alGetPointervSOFT),
+
+ DECL(alBufferCallbackSOFT),
+ DECL(alGetBufferPtrSOFT),
+ DECL(alGetBuffer3PtrSOFT),
+ DECL(alGetBufferPtrvSOFT),
};
#undef DECL
diff --git a/alc/inprogext.h b/alc/inprogext.h
index ad3ea288..1eeeddf2 100644
--- a/alc/inprogext.h
+++ b/alc/inprogext.h
@@ -77,6 +77,23 @@ AL_API void AL_APIENTRY alGetPointervSOFT(ALenum pname, void **values);
#define AL_EFFECTSLOT_TARGET_SOFT 0xf000
#endif
+#ifndef AL_SOFT_callback_buffer
+#define AL_SOFT_callback_buffer
+#define AL_BUFFER_CALLBACK_FUNCTION_SOFT 0x19A0
+#define AL_BUFFER_CALLBACK_USER_PARAM_SOFT 0x19A1
+typedef ALsizei (AL_APIENTRY*LPALBUFFERCALLBACKTYPESOFT)(ALvoid *userptr, ALvoid *sampledata, ALsizei numsamples);
+typedef void (AL_APIENTRY*LPALBUFFERCALLBACKSOFT)(ALuint buffer, ALenum format, ALsizei freq, LPALBUFFERCALLBACKTYPESOFT callback, ALvoid *userptr, ALbitfieldSOFT flags);
+typedef void (AL_APIENTRY*LPALGETBUFFERPTRSOFT)(ALuint buffer, ALenum param, ALvoid **value);
+typedef void (AL_APIENTRY*LPALGETBUFFER3PTRSOFT)(ALuint buffer, ALenum param, ALvoid **value1, ALvoid **value2, ALvoid **value3);
+typedef void (AL_APIENTRY*LPALGETBUFFERPTRVSOFT)(ALuint buffer, ALenum param, ALvoid **values);
+#ifdef AL_ALEXT_PROTOTYPES
+AL_API void AL_APIENTRY alBufferCallbackSOFT(ALuint buffer, ALenum format, ALsizei freq, LPALBUFFERCALLBACKTYPESOFT callback, ALvoid *userptr, ALbitfieldSOFT flags);
+AL_API void AL_APIENTRY alGetBufferPtrSOFT(ALuint buffer, ALenum param, ALvoid **ptr);
+AL_API void AL_APIENTRY alGetBuffer3PtrSOFT(ALuint buffer, ALenum param, ALvoid **ptr0, ALvoid **ptr1, ALvoid **ptr2);
+AL_API void AL_APIENTRY alGetBufferPtrvSOFT(ALuint buffer, ALenum param, ALvoid **ptr);
+#endif
+#endif
+
#ifdef __cplusplus
} /* extern "C" */
#endif