aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2009-10-22 08:53:59 -0700
committerChris Robinson <[email protected]>2009-10-22 08:53:59 -0700
commit8d807add41a1be8601b9d9a34052c4af450f103c (patch)
tree41770fc9b2829f46f5cfc2f8aabc21db12a995bc
parent8501fce38b2e8b9f4b3d4c9381ed48be6bef1524 (diff)
Store the bufferID in the buffer struct
-rw-r--r--OpenAL32/Include/alBuffer.h7
-rw-r--r--OpenAL32/alBuffer.c2
2 files changed, 9 insertions, 0 deletions
diff --git a/OpenAL32/Include/alBuffer.h b/OpenAL32/Include/alBuffer.h
index b25a35c6..b7d36642 100644
--- a/OpenAL32/Include/alBuffer.h
+++ b/OpenAL32/Include/alBuffer.h
@@ -15,12 +15,19 @@ typedef struct ALbuffer
{
ALenum format;
ALenum eOriginalFormat;
+
ALshort *data;
ALsizei size;
+
ALsizei frequency;
ALsizei padding;
ALenum state;
+
ALuint refcount; // Number of sources using this buffer (deletion can only occur when this is 0)
+
+ // Index to itself
+ ALuint buffer;
+
struct ALbuffer *next;
} ALbuffer;
diff --git a/OpenAL32/alBuffer.c b/OpenAL32/alBuffer.c
index 09f692dc..2ebf42b0 100644
--- a/OpenAL32/alBuffer.c
+++ b/OpenAL32/alBuffer.c
@@ -106,6 +106,8 @@ ALAPI ALvoid ALAPIENTRY alGenBuffers(ALsizei n,ALuint *puiBuffers)
}
puiBuffers[i] = (ALuint)ALTHUNK_ADDENTRY(*list);
+ (*list)->buffer = puiBuffers[i];
+
(*list)->state = UNUSED;
device->BufferCount++;
i++;