From 2cd09833a40767b49d4218769ff03118b207bae8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Leclercq?= Date: Sat, 29 May 2021 21:59:51 +0200 Subject: [PATCH] Minor fixes --- src/Nazara/Audio/Formats/minimp3Loader.cpp | 9 +++++---- src/Nazara/Audio/Formats/sndfileLoader.cpp | 6 +++--- src/Nazara/Core/File.cpp | 4 ++-- 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/Nazara/Audio/Formats/minimp3Loader.cpp b/src/Nazara/Audio/Formats/minimp3Loader.cpp index 5c6ac22d1..00e26d73f 100644 --- a/src/Nazara/Audio/Formats/minimp3Loader.cpp +++ b/src/Nazara/Audio/Formats/minimp3Loader.cpp @@ -38,13 +38,13 @@ namespace Nz case 4: return AudioFormat::U16_Quad; - case 5: + case 6: return AudioFormat::U16_5_1; - case 6: + case 7: return AudioFormat::U16_6_1; - case 7: + case 8: return AudioFormat::U16_7_1; default: @@ -137,7 +137,7 @@ namespace Nz if (parameters.forceMono && format != AudioFormat::U16_Mono) { - UInt32 frameCount = UInt32(info.samples / info.channels); + UInt64 frameCount = UInt64(info.samples / info.channels); MixToMono(info.buffer, info.buffer, static_cast(info.channels), frameCount); format = AudioFormat::U16_Mono; @@ -283,6 +283,7 @@ namespace Nz void Seek(UInt64 offset) override { mp3dec_ex_seek(&m_decoder, offset); + m_readSampleCount = offset; } UInt64 Tell() override diff --git a/src/Nazara/Audio/Formats/sndfileLoader.cpp b/src/Nazara/Audio/Formats/sndfileLoader.cpp index 4bf577a37..38c2b4c67 100644 --- a/src/Nazara/Audio/Formats/sndfileLoader.cpp +++ b/src/Nazara/Audio/Formats/sndfileLoader.cpp @@ -40,13 +40,13 @@ namespace Nz case 4: return AudioFormat::U16_Quad; - case 5: + case 6: return AudioFormat::U16_5_1; - case 6: + case 7: return AudioFormat::U16_6_1; - case 7: + case 8: return AudioFormat::U16_7_1; default: diff --git a/src/Nazara/Core/File.cpp b/src/Nazara/Core/File.cpp index b40fd2b4d..56bd2ae41 100644 --- a/src/Nazara/Core/File.cpp +++ b/src/Nazara/Core/File.cpp @@ -382,8 +382,8 @@ namespace Nz { // If we don't have to read, we move forward UInt64 currentPos = m_impl->GetCursorPos(); - - m_impl->SetCursorPos(CursorPosition::AtCurrent, size); + if (!m_impl->SetCursorPos(CursorPosition::AtCurrent, size)) + return 0; return static_cast(m_impl->GetCursorPos() - currentPos); }