Commit d83b3886 authored by David Reid's avatar David Reid

Update WAV codec.

parent 89a3df2b
/* /*
WAV audio loader and writer. Choice of public domain or MIT-0. See license statements at the end of this file. 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.9 - 2020-08-02 dr_wav - v0.12.10 - 2020-08-24
David Reid - mackron@gmail.com David Reid - mackron@gmail.com
...@@ -144,7 +144,7 @@ extern "C" { ...@@ -144,7 +144,7 @@ extern "C" {
#define DRWAV_VERSION_MAJOR 0 #define DRWAV_VERSION_MAJOR 0
#define DRWAV_VERSION_MINOR 12 #define DRWAV_VERSION_MINOR 12
#define DRWAV_VERSION_REVISION 9 #define DRWAV_VERSION_REVISION 10
#define DRWAV_VERSION_STRING DRWAV_XSTRINGIFY(DRWAV_VERSION_MAJOR) "." DRWAV_XSTRINGIFY(DRWAV_VERSION_MINOR) "." DRWAV_XSTRINGIFY(DRWAV_VERSION_REVISION) #define DRWAV_VERSION_STRING DRWAV_XSTRINGIFY(DRWAV_VERSION_MAJOR) "." DRWAV_XSTRINGIFY(DRWAV_VERSION_MINOR) "." DRWAV_XSTRINGIFY(DRWAV_VERSION_REVISION)
#include <stddef.h> /* For size_t. */ #include <stddef.h> /* For size_t. */
...@@ -3533,6 +3533,15 @@ DRWAV_API drwav_bool32 drwav_seek_to_first_pcm_frame(drwav* pWav) ...@@ -3533,6 +3533,15 @@ DRWAV_API drwav_bool32 drwav_seek_to_first_pcm_frame(drwav* pWav)
if (drwav__is_compressed_format_tag(pWav->translatedFormatTag)) { if (drwav__is_compressed_format_tag(pWav->translatedFormatTag)) {
pWav->compressed.iCurrentPCMFrame = 0; pWav->compressed.iCurrentPCMFrame = 0;
/* Cached data needs to be cleared for compressed formats. */
if (pWav->translatedFormatTag == DR_WAVE_FORMAT_ADPCM) {
DRWAV_ZERO_OBJECT(&pWav->msadpcm);
} else if (pWav->translatedFormatTag == DR_WAVE_FORMAT_DVI_ADPCM) {
DRWAV_ZERO_OBJECT(&pWav->ima);
} else {
DRWAV_ASSERT(DRWAV_FALSE); /* If this assertion is triggered it means I've implemented a new compressed format but forgot to add a branch for it here. */
}
} }
pWav->bytesRemaining = pWav->dataChunkDataSize; pWav->bytesRemaining = pWav->dataChunkDataSize;
...@@ -5925,6 +5934,9 @@ two different ways to initialize a drwav object. ...@@ -5925,6 +5934,9 @@ two different ways to initialize a drwav object.
/* /*
REVISION HISTORY REVISION HISTORY
================ ================
v0.12.10 - 2020-08-24
- Fix a bug when seeking with ADPCM formats.
v0.12.9 - 2020-08-02 v0.12.9 - 2020-08-02
- Simplify sized types. - Simplify sized types.
......
...@@ -42544,7 +42544,7 @@ extern "C" { ...@@ -42544,7 +42544,7 @@ extern "C" {
#define DRWAV_XSTRINGIFY(x) DRWAV_STRINGIFY(x) #define DRWAV_XSTRINGIFY(x) DRWAV_STRINGIFY(x)
#define DRWAV_VERSION_MAJOR 0 #define DRWAV_VERSION_MAJOR 0
#define DRWAV_VERSION_MINOR 12 #define DRWAV_VERSION_MINOR 12
#define DRWAV_VERSION_REVISION 9 #define DRWAV_VERSION_REVISION 10
#define DRWAV_VERSION_STRING DRWAV_XSTRINGIFY(DRWAV_VERSION_MAJOR) "." DRWAV_XSTRINGIFY(DRWAV_VERSION_MINOR) "." DRWAV_XSTRINGIFY(DRWAV_VERSION_REVISION) #define DRWAV_VERSION_STRING DRWAV_XSTRINGIFY(DRWAV_VERSION_MAJOR) "." DRWAV_XSTRINGIFY(DRWAV_VERSION_MINOR) "." DRWAV_XSTRINGIFY(DRWAV_VERSION_REVISION)
#include <stddef.h> #include <stddef.h>
typedef signed char drwav_int8; typedef signed char drwav_int8;
...@@ -49104,6 +49104,13 @@ DRWAV_API drwav_bool32 drwav_seek_to_first_pcm_frame(drwav* pWav) ...@@ -49104,6 +49104,13 @@ DRWAV_API drwav_bool32 drwav_seek_to_first_pcm_frame(drwav* pWav)
} }
if (drwav__is_compressed_format_tag(pWav->translatedFormatTag)) { if (drwav__is_compressed_format_tag(pWav->translatedFormatTag)) {
pWav->compressed.iCurrentPCMFrame = 0; pWav->compressed.iCurrentPCMFrame = 0;
if (pWav->translatedFormatTag == DR_WAVE_FORMAT_ADPCM) {
DRWAV_ZERO_OBJECT(&pWav->msadpcm);
} else if (pWav->translatedFormatTag == DR_WAVE_FORMAT_DVI_ADPCM) {
DRWAV_ZERO_OBJECT(&pWav->ima);
} else {
DRWAV_ASSERT(DRWAV_FALSE);
}
} }
pWav->bytesRemaining = pWav->dataChunkDataSize; pWav->bytesRemaining = pWav->dataChunkDataSize;
return DRWAV_TRUE; return DRWAV_TRUE;
...@@ -62482,6 +62489,7 @@ v0.10.17 - TBD ...@@ -62482,6 +62489,7 @@ v0.10.17 - TBD
- Fix an error where the WAV codec is incorrectly excluded from the build depending on which compile time options are set. - Fix an error where the WAV codec is incorrectly excluded from the build depending on which compile time options are set.
- Fix compilation error on Android. - Fix compilation error on Android.
- Add ma_decoder_get_cursor_in_pcm_frames(). - Add ma_decoder_get_cursor_in_pcm_frames().
- Update WAV codec.
v0.10.16 - 2020-08-14 v0.10.16 - 2020-08-14
- WASAPI: Fix a potential crash due to using an uninitialized variable. - WASAPI: Fix a potential crash due to using an uninitialized variable.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment