Merge branch 'dev' into dev-0.12

This commit is contained in:
David Reid
2026-07-13 08:40:15 +10:00
2 changed files with 20 additions and 14 deletions
+1
View File
@@ -4,6 +4,7 @@ v0.11.26 - TBD
* Fixed a crash when passing in null for the read or seek callbacks for a decoder. * Fixed a crash when passing in null for the read or seek callbacks for a decoder.
* Fixed an error with node initialization. * Fixed an error with node initialization.
* Fixed build for Arm64EC on MSVC. * Fixed build for Arm64EC on MSVC.
* Resource Manager: Fixed a possible crash when loading fails.
* PulseAudio: Improvements to format negotiation to better handle cases when PulseAudio reports s24_32 as its native format. * PulseAudio: Improvements to format negotiation to better handle cases when PulseAudio reports s24_32 as its native format.
* Emscripten: Fixed an error with ALLOW_MEMORY_GROWTH. * Emscripten: Fixed an error with ALLOW_MEMORY_GROWTH.
* Emscripten: Fixed some issues relating to handling of 64-bit pointers. * Emscripten: Fixed some issues relating to handling of 64-bit pointers.
+19 -14
View File
@@ -80409,21 +80409,26 @@ static ma_result ma_resource_manager_data_buffer_node_acquire(ma_resource_manage
} }
done: done:
/* If we failed to initialize the data buffer we need to free it. */ {
if (result != MA_SUCCESS) { ma_bool32 isDataOwnedByResourceManager = pDataBufferNode->isDataOwnedByResourceManager;
if (nodeAlreadyExists == MA_FALSE) {
ma_resource_manager_data_buffer_node_remove(pResourceManager, pDataBufferNode);
ma_free(pDataBufferNode, &pResourceManager->config.allocationCallbacks);
}
}
/* /* If we failed to initialize the data buffer we need to free it. */
The init notification needs to be uninitialized. This will be used if the node does not already if (result != MA_SUCCESS) {
exist, and we've specified ASYNC | WAIT_INIT. if (nodeAlreadyExists == MA_FALSE) {
*/ ma_resource_manager_data_buffer_node_remove(pResourceManager, pDataBufferNode);
if (nodeAlreadyExists == MA_FALSE && pDataBufferNode->isDataOwnedByResourceManager && (flags & MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_ASYNC) != 0) { ma_free(pDataBufferNode, &pResourceManager->config.allocationCallbacks);
if ((flags & MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_WAIT_INIT) != 0) { pDataBufferNode = NULL;
ma_resource_manager_inline_notification_uninit(&initNotification); }
}
/*
The init notification needs to be uninitialized. This will be used if the node does not already
exist, and we've specified ASYNC | WAIT_INIT.
*/
if (nodeAlreadyExists == MA_FALSE && isDataOwnedByResourceManager && (flags & MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_ASYNC) != 0) {
if ((flags & MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_WAIT_INIT) != 0) {
ma_resource_manager_inline_notification_uninit(&initNotification);
}
} }
} }