mirror of
https://github.com/mackron/miniaudio.git
synced 2026-04-23 00:34:03 +02:00
Fix some bugs with trying to access uninitialized variables.
This commit is contained in:
+17
-2
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Audio playback and capture library. Choice of public domain or MIT-0. See license statements at the end of this file.
|
Audio playback and capture library. Choice of public domain or MIT-0. See license statements at the end of this file.
|
||||||
miniaudio - v0.10.26 - 2020-11-24
|
miniaudio - v0.10.27 - TBD
|
||||||
|
|
||||||
David Reid - mackron@gmail.com
|
David Reid - mackron@gmail.com
|
||||||
|
|
||||||
@@ -1447,7 +1447,7 @@ extern "C" {
|
|||||||
|
|
||||||
#define MA_VERSION_MAJOR 0
|
#define MA_VERSION_MAJOR 0
|
||||||
#define MA_VERSION_MINOR 10
|
#define MA_VERSION_MINOR 10
|
||||||
#define MA_VERSION_REVISION 26
|
#define MA_VERSION_REVISION 27
|
||||||
#define MA_VERSION_STRING MA_XSTRINGIFY(MA_VERSION_MAJOR) "." MA_XSTRINGIFY(MA_VERSION_MINOR) "." MA_XSTRINGIFY(MA_VERSION_REVISION)
|
#define MA_VERSION_STRING MA_XSTRINGIFY(MA_VERSION_MAJOR) "." MA_XSTRINGIFY(MA_VERSION_MINOR) "." MA_XSTRINGIFY(MA_VERSION_REVISION)
|
||||||
|
|
||||||
#if defined(_MSC_VER) && !defined(__clang__)
|
#if defined(_MSC_VER) && !defined(__clang__)
|
||||||
@@ -42869,6 +42869,18 @@ MA_API ma_result ma_data_source_get_data_format(ma_data_source* pDataSource, ma_
|
|||||||
ma_uint32 sampleRate;
|
ma_uint32 sampleRate;
|
||||||
ma_data_source_callbacks* pCallbacks = (ma_data_source_callbacks*)pDataSource;
|
ma_data_source_callbacks* pCallbacks = (ma_data_source_callbacks*)pDataSource;
|
||||||
|
|
||||||
|
if (pFormat != NULL) {
|
||||||
|
*pFormat = ma_format_unknown;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pChannels != NULL) {
|
||||||
|
*pChannels = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pSampleRate != NULL) {
|
||||||
|
*pSampleRate = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (pCallbacks == NULL || pCallbacks->onGetDataFormat == NULL) {
|
if (pCallbacks == NULL || pCallbacks->onGetDataFormat == NULL) {
|
||||||
return MA_INVALID_ARGS;
|
return MA_INVALID_ARGS;
|
||||||
}
|
}
|
||||||
@@ -64249,6 +64261,9 @@ The following miscellaneous changes have also been made.
|
|||||||
/*
|
/*
|
||||||
REVISION HISTORY
|
REVISION HISTORY
|
||||||
================
|
================
|
||||||
|
v0.10.27 - TBD
|
||||||
|
- Fix some bugs with trying to access uninitialized variables.
|
||||||
|
|
||||||
v0.10.26 - 2020-11-24
|
v0.10.26 - 2020-11-24
|
||||||
- WASAPI: Fix a bug where the exclusive mode format may not be retrieved correctly due to accessing freed memory.
|
- WASAPI: Fix a bug where the exclusive mode format may not be retrieved correctly due to accessing freed memory.
|
||||||
- Fix a bug with ma_waveform where glitching occurs after changing frequency.
|
- Fix a bug with ma_waveform where glitching occurs after changing frequency.
|
||||||
|
|||||||
@@ -3621,11 +3621,15 @@ static ma_result ma_rb_data_source_init(ma_rb* pRB, ma_format format, ma_uint32
|
|||||||
return MA_INVALID_ARGS;
|
return MA_INVALID_ARGS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MA_ZERO_OBJECT(pDataSource); /* For safety. */
|
||||||
|
|
||||||
pDataSource->ds.onRead = NULL;
|
pDataSource->ds.onRead = NULL;
|
||||||
pDataSource->ds.onSeek = NULL; /* We can't really seek in a ring buffer - there's no notion of a beginning and an end in a ring buffer. */
|
pDataSource->ds.onSeek = NULL; /* We can't really seek in a ring buffer - there's no notion of a beginning and an end in a ring buffer. */
|
||||||
pDataSource->ds.onMap = ma_rb_data_source__on_map;
|
pDataSource->ds.onMap = ma_rb_data_source__on_map;
|
||||||
pDataSource->ds.onUnmap = ma_rb_data_source__on_unmap;
|
pDataSource->ds.onUnmap = ma_rb_data_source__on_unmap;
|
||||||
pDataSource->ds.onGetDataFormat = ma_rb_data_source__on_get_format;
|
pDataSource->ds.onGetDataFormat = ma_rb_data_source__on_get_format;
|
||||||
|
pDataSource->ds.onGetCursor = NULL;
|
||||||
|
pDataSource->ds.onGetLength = NULL;
|
||||||
pDataSource->pRB = pRB;
|
pDataSource->pRB = pRB;
|
||||||
pDataSource->format = format;
|
pDataSource->format = format;
|
||||||
pDataSource->channels = channels;
|
pDataSource->channels = channels;
|
||||||
@@ -6149,6 +6153,14 @@ MA_API ma_result ma_resource_manager_data_stream_get_data_format(ma_resource_man
|
|||||||
/* We cannot be using the data source after it's been uninitialized. */
|
/* We cannot be using the data source after it's been uninitialized. */
|
||||||
MA_ASSERT(pDataStream->result != MA_UNAVAILABLE);
|
MA_ASSERT(pDataStream->result != MA_UNAVAILABLE);
|
||||||
|
|
||||||
|
if (pFormat != NULL) {
|
||||||
|
*pFormat = ma_format_unknown;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pChannels != NULL) {
|
||||||
|
*pChannels = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (pDataStream == NULL) {
|
if (pDataStream == NULL) {
|
||||||
return MA_INVALID_ARGS;
|
return MA_INVALID_ARGS;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user