Audio: Fix AudioFormat names (U16 -> I16)

This commit is contained in:
Jérôme Leclercq 2021-05-30 03:21:30 +02:00
parent 2d16cf81d1
commit d5c27a756b
8 changed files with 61 additions and 61 deletions

View File

@ -26,22 +26,22 @@ namespace Nz
case AudioFormat::Unknown: //< Just to make the compiler stop complaining
break;
case AudioFormat::U16_Mono:
case AudioFormat::I16_Mono:
return 1;
case AudioFormat::U16_Stereo:
case AudioFormat::I16_Stereo:
return 2;
case AudioFormat::U16_Quad:
case AudioFormat::I16_Quad:
return 4;
case AudioFormat::U16_5_1:
case AudioFormat::I16_5_1:
return 6;
case AudioFormat::U16_6_1:
case AudioFormat::I16_6_1:
return 7;
case AudioFormat::U16_7_1:
case AudioFormat::I16_7_1:
return 8;
}

View File

@ -13,14 +13,14 @@ namespace Nz
{
Unknown = -1,
U16_Mono,
U16_Stereo,
U16_Quad,
U16_5_1,
U16_6_1,
U16_7_1,
I16_Mono,
I16_Stereo,
I16_Quad,
I16_5_1,
I16_6_1,
I16_7_1,
Max = U16_7_1
Max = I16_7_1
};
constexpr std::size_t AudioFormatCount = static_cast<std::size_t>(AudioFormat::Max) + 1;

View File

@ -31,22 +31,22 @@ namespace Nz
switch (channelCount)
{
case 1:
return AudioFormat::U16_Mono;
return AudioFormat::I16_Mono;
case 2:
return AudioFormat::U16_Stereo;
return AudioFormat::I16_Stereo;
case 4:
return AudioFormat::U16_Quad;
return AudioFormat::I16_Quad;
case 6:
return AudioFormat::U16_5_1;
return AudioFormat::I16_5_1;
case 7:
return AudioFormat::U16_6_1;
return AudioFormat::I16_6_1;
case 8:
return AudioFormat::U16_7_1;
return AudioFormat::I16_7_1;
default:
return std::nullopt;
@ -120,11 +120,11 @@ namespace Nz
return {};
}
if (parameters.forceMono && format != AudioFormat::U16_Mono)
if (parameters.forceMono && format != AudioFormat::I16_Mono)
{
MixToMono(samples.get(), samples.get(), static_cast<UInt32>(wav.channels), wav.totalPCMFrameCount);
format = AudioFormat::U16_Mono;
format = AudioFormat::I16_Mono;
sampleCount = wav.totalPCMFrameCount;
}
@ -153,7 +153,7 @@ namespace Nz
AudioFormat GetFormat() const override
{
if (m_mixToMono)
return AudioFormat::U16_Mono;
return AudioFormat::I16_Mono;
else
return m_format;
}
@ -220,7 +220,7 @@ namespace Nz
m_sampleRate = m_decoder.sampleRate;
// Mixing to mono will be done on the fly
if (forceMono && m_format != AudioFormat::U16_Mono)
if (forceMono && m_format != AudioFormat::I16_Mono)
{
m_mixToMono = true;
m_sampleCount = m_decoder.totalPCMFrameCount;

View File

@ -28,22 +28,22 @@ namespace Nz
switch (channelCount)
{
case 1:
return AudioFormat::U16_Mono;
return AudioFormat::I16_Mono;
case 2:
return AudioFormat::U16_Stereo;
return AudioFormat::I16_Stereo;
case 4:
return AudioFormat::U16_Quad;
return AudioFormat::I16_Quad;
case 6:
return AudioFormat::U16_5_1;
return AudioFormat::I16_5_1;
case 7:
return AudioFormat::U16_6_1;
return AudioFormat::I16_6_1;
case 8:
return AudioFormat::U16_7_1;
return AudioFormat::I16_7_1;
default:
return std::nullopt;
@ -193,11 +193,11 @@ namespace Nz
return {};
}
if (parameters.forceMono && format != AudioFormat::U16_Mono)
if (parameters.forceMono && format != AudioFormat::I16_Mono)
{
MixToMono(samples.get(), samples.get(), static_cast<UInt32>(info->channels), frameCount);
format = AudioFormat::U16_Mono;
format = AudioFormat::I16_Mono;
sampleCount = frameCount;
}
@ -226,7 +226,7 @@ namespace Nz
AudioFormat GetFormat() const override
{
if (m_mixToMono)
return AudioFormat::U16_Mono;
return AudioFormat::I16_Mono;
else
return m_format;
}
@ -300,7 +300,7 @@ namespace Nz
m_sampleRate = info->rate;
// Mixing to mono will be done on the fly
if (forceMono && m_format != AudioFormat::U16_Mono)
if (forceMono && m_format != AudioFormat::I16_Mono)
{
m_mixToMono = true;
m_sampleCount = frameCount;

View File

@ -30,22 +30,22 @@ namespace Nz
switch (channelCount)
{
case 1:
return AudioFormat::U16_Mono;
return AudioFormat::I16_Mono;
case 2:
return AudioFormat::U16_Stereo;
return AudioFormat::I16_Stereo;
case 4:
return AudioFormat::U16_Quad;
return AudioFormat::I16_Quad;
case 6:
return AudioFormat::U16_5_1;
return AudioFormat::I16_5_1;
case 7:
return AudioFormat::U16_6_1;
return AudioFormat::I16_6_1;
case 8:
return AudioFormat::U16_7_1;
return AudioFormat::I16_7_1;
default:
return std::nullopt;
@ -135,12 +135,12 @@ namespace Nz
UInt32 sampleCount = static_cast<UInt32>(info.samples);
if (parameters.forceMono && format != AudioFormat::U16_Mono)
if (parameters.forceMono && format != AudioFormat::I16_Mono)
{
UInt64 frameCount = UInt64(info.samples / info.channels);
MixToMono(info.buffer, info.buffer, static_cast<UInt32>(info.channels), frameCount);
format = AudioFormat::U16_Mono;
format = AudioFormat::I16_Mono;
sampleCount = frameCount;
}
@ -169,7 +169,7 @@ namespace Nz
AudioFormat GetFormat() const override
{
if (m_mixToMono)
return AudioFormat::U16_Mono;
return AudioFormat::I16_Mono;
else
return m_format;
}
@ -242,7 +242,7 @@ namespace Nz
m_sampleRate = m_decoder.info.hz;
// Mixing to mono will be done on the fly
if (forceMono && m_format != AudioFormat::U16_Mono)
if (forceMono && m_format != AudioFormat::I16_Mono)
{
m_mixToMono = true;
m_sampleCount = static_cast<UInt32>(m_decoder.samples / m_decoder.info.channels);

View File

@ -32,22 +32,22 @@ namespace Nz
switch (channelCount)
{
case 1:
return AudioFormat::U16_Mono;
return AudioFormat::I16_Mono;
case 2:
return AudioFormat::U16_Stereo;
return AudioFormat::I16_Stereo;
case 4:
return AudioFormat::U16_Quad;
return AudioFormat::I16_Quad;
case 6:
return AudioFormat::U16_5_1;
return AudioFormat::I16_5_1;
case 7:
return AudioFormat::U16_6_1;
return AudioFormat::I16_6_1;
case 8:
return AudioFormat::U16_7_1;
return AudioFormat::I16_7_1;
default:
return std::nullopt;
@ -121,7 +121,7 @@ namespace Nz
{
// Nous avons besoin du nombre de canaux d'origine pour convertir en mono, nous trichons donc un peu...
if (m_mixToMono)
return AudioFormat::U16_Mono;
return AudioFormat::I16_Mono;
else
return m_format;
}
@ -201,7 +201,7 @@ namespace Nz
sf_command(m_handle, SFC_SET_SCALE_FLOAT_INT_READ, nullptr, SF_TRUE);
// On mixera en mono lors de la lecture
if (forceMono && m_format != AudioFormat::U16_Mono)
if (forceMono && m_format != AudioFormat::I16_Mono)
{
m_mixToMono = true;
m_sampleCount = static_cast<UInt32>(info.frames);
@ -377,11 +377,11 @@ namespace Nz
}
// Convert to mono if required
if (parameters.forceMono && format != AudioFormat::U16_Mono)
if (parameters.forceMono && format != AudioFormat::I16_Mono)
{
MixToMono(samples.get(), samples.get(), static_cast<UInt32>(info.channels), static_cast<UInt64>(info.frames));
format = AudioFormat::U16_Mono;
format = AudioFormat::I16_Mono;
sampleCount = static_cast<unsigned int>(info.frames);
}

View File

@ -440,19 +440,19 @@ namespace Nz
}
// We complete the formats table
AudioFormat[UnderlyingCast(AudioFormat::U16_Mono)] = AL_FORMAT_MONO16;
AudioFormat[UnderlyingCast(AudioFormat::U16_Stereo)] = AL_FORMAT_STEREO16;
AudioFormat[UnderlyingCast(AudioFormat::I16_Mono)] = AL_FORMAT_MONO16;
AudioFormat[UnderlyingCast(AudioFormat::I16_Stereo)] = AL_FORMAT_STEREO16;
// "The presence of an enum value does not guarantee the applicability of an extension to the current context."
if (alIsExtensionPresent("AL_EXT_MCFORMATS"))
{
AudioFormat[UnderlyingCast(AudioFormat::U16_Quad)] = alGetEnumValue("AL_FORMAT_QUAD16");
AudioFormat[UnderlyingCast(AudioFormat::U16_5_1)] = alGetEnumValue("AL_FORMAT_51CHN16");
AudioFormat[UnderlyingCast(AudioFormat::U16_6_1)] = alGetEnumValue("AL_FORMAT_61CHN16");
AudioFormat[UnderlyingCast(AudioFormat::U16_7_1)] = alGetEnumValue("AL_FORMAT_71CHN16");
AudioFormat[UnderlyingCast(AudioFormat::I16_Quad)] = alGetEnumValue("AL_FORMAT_QUAD16");
AudioFormat[UnderlyingCast(AudioFormat::I16_5_1)] = alGetEnumValue("AL_FORMAT_51CHN16");
AudioFormat[UnderlyingCast(AudioFormat::I16_6_1)] = alGetEnumValue("AL_FORMAT_61CHN16");
AudioFormat[UnderlyingCast(AudioFormat::I16_7_1)] = alGetEnumValue("AL_FORMAT_71CHN16");
}
else if (alIsExtensionPresent("AL_LOKI_quadriphonic"))
AudioFormat[UnderlyingCast(AudioFormat::U16_Quad)] = alGetEnumValue("AL_FORMAT_QUAD16_LOKI");
AudioFormat[UnderlyingCast(AudioFormat::I16_Quad)] = alGetEnumValue("AL_FORMAT_QUAD16_LOKI");
return true;
}

View File

@ -20,7 +20,7 @@ SCENARIO("Music", "[AUDIO][MUSIC]")
{
CHECK(music.GetDuration() <= 64000); // 1 min 03 = 63s = 63000ms
CHECK(music.GetDuration() >= 63000);
CHECK(music.GetFormat() == Nz::AudioFormat::U16_Stereo);
CHECK(music.GetFormat() == Nz::AudioFormat::I16_Stereo);
CHECK(music.GetPlayingOffset() == 0);
CHECK(music.GetSampleCount() <= 5644800); // 64s * 44100 Hz * 2 (stereo)
CHECK(music.GetSampleCount() >= 5556600); // 63s * 44100 Hz * 2 (stereo)