Fix various issues with OpenAL buffers playback (do proper bit convertion)

This commit is contained in:
Wojtek Figat
2023-10-06 13:59:03 +02:00
parent 176123eb1f
commit 560f699dd8
3 changed files with 28 additions and 50 deletions

View File

@@ -231,8 +231,7 @@ void AudioTool::ConvertToFloat(const byte* input, uint32 inBitDepth, float* outp
for (uint32 i = 0; i < numSamples; i++)
{
const int8 sample = *(int8*)input;
output[i] = sample / 127.0f;
output[i] = sample * (1.0f / 127.0f);
input++;
}
}
@@ -241,8 +240,7 @@ void AudioTool::ConvertToFloat(const byte* input, uint32 inBitDepth, float* outp
for (uint32 i = 0; i < numSamples; i++)
{
const int16 sample = *(int16*)input;
output[i] = sample / 32767.0f;
output[i] = sample * (1.0f / 32767.0f);
input += 2;
}
}
@@ -251,8 +249,7 @@ void AudioTool::ConvertToFloat(const byte* input, uint32 inBitDepth, float* outp
for (uint32 i = 0; i < numSamples; i++)
{
const int32 sample = Convert24To32Bits(input);
output[i] = sample / 2147483647.0f;
output[i] = sample * (1.0f / 2147483647.0f);
input += 3;
}
}
@@ -261,8 +258,7 @@ void AudioTool::ConvertToFloat(const byte* input, uint32 inBitDepth, float* outp
for (uint32 i = 0; i < numSamples; i++)
{
const int32 sample = *(int32*)input;
output[i] = sample / 2147483647.0f;
output[i] = sample * (1.0f / 2147483647.0f);
input += 4;
}
}
@@ -278,7 +274,6 @@ void AudioTool::ConvertFromFloat(const float* input, int32* output, uint32 numSa
{
const float sample = *(float*)input;
output[i] = static_cast<int32>(sample * 2147483647.0f);
input++;
}
}