diff options
author | Chris Robinson <[email protected]> | 2009-08-16 00:54:08 -0700 |
---|---|---|
committer | Chris Robinson <[email protected]> | 2009-08-16 00:54:08 -0700 |
commit | 0b7eb9f118a259f4bc666140093b6be7dcf01158 (patch) | |
tree | 808f71536e3df4b38d0b9e9eae76e25a372ef33d /OpenAL32/Include | |
parent | dc26261065a7ff78657ac79accc993c78069deca (diff) |
Add in-progress working extension AL_EXTX_sample_buffer_object
Diffstat (limited to 'OpenAL32/Include')
-rw-r--r-- | OpenAL32/Include/alDatabuffer.h | 55 | ||||
-rw-r--r-- | OpenAL32/Include/alMain.h | 7 |
2 files changed, 62 insertions, 0 deletions
diff --git a/OpenAL32/Include/alDatabuffer.h b/OpenAL32/Include/alDatabuffer.h new file mode 100644 index 00000000..f50450f0 --- /dev/null +++ b/OpenAL32/Include/alDatabuffer.h @@ -0,0 +1,55 @@ +#ifndef _AL_DATABUFFER_H_ +#define _AL_DATABUFFER_H_ + +#include "AL/al.h" + +#ifdef __cplusplus +extern "C" { +#endif + +#define UNMAPPED 0 +#define MAPPED 1 + +typedef struct ALdatabuffer +{ + ALubyte *data; + ALuint size; + ALenum state; + + ALenum usage; + + /* Index to self */ + ALuint databuffer; + + struct ALdatabuffer *next; +} ALdatabuffer; + +ALvoid ALAPIENTRY alGenDatabuffersEXT(ALsizei n,ALuint *puiBuffers); +ALvoid ALAPIENTRY alDeleteDatabuffersEXT(ALsizei n, const ALuint *puiBuffers); +ALboolean ALAPIENTRY alIsDatabufferEXT(ALuint uiBuffer); + +ALvoid ALAPIENTRY alDatabufferDataEXT(ALuint buffer,const ALvoid *data,ALsizei size,ALenum usage); +ALvoid ALAPIENTRY alDatabufferSubDataEXT(ALuint buffer, ALuint start, ALsizei length, const ALvoid *data); +ALvoid ALAPIENTRY alGetDatabufferSubDataEXT(ALuint buffer, ALuint start, ALsizei length, ALvoid *data); + +ALvoid ALAPIENTRY alDatabufferfEXT(ALuint buffer, ALenum eParam, ALfloat flValue); +ALvoid ALAPIENTRY alDatabufferfvEXT(ALuint buffer, ALenum eParam, const ALfloat* flValues); +ALvoid ALAPIENTRY alDatabufferiEXT(ALuint buffer, ALenum eParam, ALint lValue); +ALvoid ALAPIENTRY alDatabufferivEXT(ALuint buffer, ALenum eParam, const ALint* plValues); +ALvoid ALAPIENTRY alGetDatabufferfEXT(ALuint buffer, ALenum eParam, ALfloat *pflValue); +ALvoid ALAPIENTRY alGetDatabufferfvEXT(ALuint buffer, ALenum eParam, ALfloat* pflValues); +ALvoid ALAPIENTRY alGetDatabufferiEXT(ALuint buffer, ALenum eParam, ALint *plValue); +ALvoid ALAPIENTRY alGetDatabufferivEXT(ALuint buffer, ALenum eParam, ALint* plValues); + +ALvoid ALAPIENTRY alSelectDatabufferEXT(ALenum target, ALuint uiBuffer); + +ALvoid* ALAPIENTRY alMapDatabufferEXT(ALuint uiBuffer, ALuint start, ALsizei length, ALenum access); +ALvoid ALAPIENTRY alUnmapDatabufferEXT(ALuint uiBuffer); + +ALvoid ReleaseALDatabuffers(ALCdevice *device); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/OpenAL32/Include/alMain.h b/OpenAL32/Include/alMain.h index 78128c90..a375f6d1 100644 --- a/OpenAL32/Include/alMain.h +++ b/OpenAL32/Include/alMain.h @@ -201,6 +201,10 @@ struct ALCdevice_struct struct ALfilter *FilterList; ALuint FilterCount; + // Linked List of Databuffers for this device + struct ALdatabuffer *Databuffers; + ALuint DatabufferCount; + // Context created on this device ALCcontext *Context; @@ -231,6 +235,9 @@ struct ALCcontext_struct struct ALeffectslot *AuxiliaryEffectSlot; ALuint AuxiliaryEffectSlotCount; + struct ALdatabuffer *SampleSource; + struct ALdatabuffer *SampleSink; + ALenum LastError; ALboolean InUse; |