diff options
Diffstat (limited to 'OpenAL32/alBuffer.c')
-rw-r--r-- | OpenAL32/alBuffer.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/OpenAL32/alBuffer.c b/OpenAL32/alBuffer.c index ed03df00..c923819d 100644 --- a/OpenAL32/alBuffer.c +++ b/OpenAL32/alBuffer.c @@ -361,6 +361,8 @@ AL_API ALvoid AL_APIENTRY alBufferData(ALuint buffer,ALenum format,const ALvoid ALBuf->LoopStart = 0; ALBuf->LoopEnd = newsize / NewChannels / NewBytes; + DecompFormat(NewFormat, &ALBuf->FmtType, &ALBuf->FmtChannels); + ALBuf->OriginalSize = size; ALBuf->OriginalAlign = OrigBytes * 2; } @@ -409,6 +411,8 @@ AL_API ALvoid AL_APIENTRY alBufferData(ALuint buffer,ALenum format,const ALvoid ALBuf->LoopStart = 0; ALBuf->LoopEnd = newsize / Channels / NewBytes; + DecompFormat(NewFormat, &ALBuf->FmtType, &ALBuf->FmtChannels); + ALBuf->OriginalSize = size; ALBuf->OriginalAlign = 36 * Channels; } @@ -462,6 +466,8 @@ AL_API ALvoid AL_APIENTRY alBufferData(ALuint buffer,ALenum format,const ALvoid ALBuf->LoopStart = 0; ALBuf->LoopEnd = newsize / Channels / NewBytes; + DecompFormat(NewFormat, &ALBuf->FmtType, &ALBuf->FmtChannels); + ALBuf->OriginalSize = size; ALBuf->OriginalAlign = 1 * Channels; } @@ -503,6 +509,8 @@ AL_API ALvoid AL_APIENTRY alBufferData(ALuint buffer,ALenum format,const ALvoid ALBuf->LoopStart = 0; ALBuf->LoopEnd = newsize / NewChannels / NewBytes; + DecompFormat(NewFormat, &ALBuf->FmtType, &ALBuf->FmtChannels); + ALBuf->OriginalSize = size; ALBuf->OriginalAlign = 1 * 2; } @@ -1085,6 +1093,8 @@ static ALenum LoadData(ALbuffer *ALBuf, const ALvoid *data, ALsizei size, ALuint ALBuf->LoopStart = 0; ALBuf->LoopEnd = newsize / NewChannels / NewBytes; + DecompFormat(NewFormat, &ALBuf->FmtType, &ALBuf->FmtChannels); + ALBuf->OriginalSize = size; ALBuf->OriginalAlign = OrigBytes * OrigChannels; |