From 73e1589afa0900e22134fd78523aa64307189f48 Mon Sep 17 00:00:00 2001 From: David Reid Date: Fri, 11 Jun 2021 19:50:42 +1000 Subject: [PATCH] Update dr_wav. Public issue https://github.com/mackron/miniaudio/issues/320 --- extras/dr_wav.h | 13 ++++++++----- miniaudio.h | 8 ++++---- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/extras/dr_wav.h b/extras/dr_wav.h index be1438bd..a19f7ac7 100644 --- a/extras/dr_wav.h +++ b/extras/dr_wav.h @@ -1,6 +1,6 @@ /* WAV audio loader and writer. Choice of public domain or MIT-0. See license statements at the end of this file. -dr_wav - v0.12.19 - 2021-02-21 +dr_wav - v0.12.20 - 2021-06-11 David Reid - mackron@gmail.com @@ -144,7 +144,7 @@ extern "C" { #define DRWAV_VERSION_MAJOR 0 #define DRWAV_VERSION_MINOR 12 -#define DRWAV_VERSION_REVISION 19 +#define DRWAV_VERSION_REVISION 20 #define DRWAV_VERSION_STRING DRWAV_XSTRINGIFY(DRWAV_VERSION_MAJOR) "." DRWAV_XSTRINGIFY(DRWAV_VERSION_MINOR) "." DRWAV_XSTRINGIFY(DRWAV_VERSION_REVISION) #include /* For size_t. */ @@ -5771,17 +5771,17 @@ DRWAV_API void drwav_free(void* p, const drwav_allocation_callbacks* pAllocation DRWAV_API drwav_uint16 drwav_bytes_to_u16(const drwav_uint8* data) { - return (data[0] << 0) | (data[1] << 8); + return ((drwav_uint16)data[0] << 0) | ((drwav_uint16)data[1] << 8); } DRWAV_API drwav_int16 drwav_bytes_to_s16(const drwav_uint8* data) { - return (short)drwav_bytes_to_u16(data); + return (drwav_int16)drwav_bytes_to_u16(data); } DRWAV_API drwav_uint32 drwav_bytes_to_u32(const drwav_uint8* data) { - return (data[0] << 0) | (data[1] << 8) | (data[2] << 16) | (data[3] << 24); + return ((drwav_uint32)data[0] << 0) | ((drwav_uint32)data[1] << 8) | ((drwav_uint32)data[2] << 16) | ((drwav_uint32)data[3] << 24); } DRWAV_API drwav_int32 drwav_bytes_to_s32(const drwav_uint8* data) @@ -6014,6 +6014,9 @@ two different ways to initialize a drwav object. /* REVISION HISTORY ================ +v0.12.20 - 2021-06-11 + - Fix some undefined behavior. + v0.12.19 - 2021-02-21 - Fix a warning due to referencing _MSC_VER when it is undefined. - Minor improvements to the management of some internal state concerning the data chunk cursor. diff --git a/miniaudio.h b/miniaudio.h index 07b2235f..29757e6d 100644 --- a/miniaudio.h +++ b/miniaudio.h @@ -45374,7 +45374,7 @@ extern "C" { #define DRWAV_XSTRINGIFY(x) DRWAV_STRINGIFY(x) #define DRWAV_VERSION_MAJOR 0 #define DRWAV_VERSION_MINOR 12 -#define DRWAV_VERSION_REVISION 19 +#define DRWAV_VERSION_REVISION 20 #define DRWAV_VERSION_STRING DRWAV_XSTRINGIFY(DRWAV_VERSION_MAJOR) "." DRWAV_XSTRINGIFY(DRWAV_VERSION_MINOR) "." DRWAV_XSTRINGIFY(DRWAV_VERSION_REVISION) #include typedef signed char drwav_int8; @@ -53739,15 +53739,15 @@ DRWAV_API void drwav_free(void* p, const drwav_allocation_callbacks* pAllocation } DRWAV_API drwav_uint16 drwav_bytes_to_u16(const drwav_uint8* data) { - return (data[0] << 0) | (data[1] << 8); + return ((drwav_uint16)data[0] << 0) | ((drwav_uint16)data[1] << 8); } DRWAV_API drwav_int16 drwav_bytes_to_s16(const drwav_uint8* data) { - return (short)drwav_bytes_to_u16(data); + return (drwav_int16)drwav_bytes_to_u16(data); } DRWAV_API drwav_uint32 drwav_bytes_to_u32(const drwav_uint8* data) { - return (data[0] << 0) | (data[1] << 8) | (data[2] << 16) | (data[3] << 24); + return ((drwav_uint32)data[0] << 0) | ((drwav_uint32)data[1] << 8) | ((drwav_uint32)data[2] << 16) | ((drwav_uint32)data[3] << 24); } DRWAV_API drwav_int32 drwav_bytes_to_s32(const drwav_uint8* data) {