From f39bbe2f4d01ed8060524c2c50b9d9a495c7b9b7 Mon Sep 17 00:00:00 2001 From: znakeeye Date: Mon, 10 Feb 2025 09:54:50 +0100 Subject: [PATCH] Revert "Fix for NDK issue 360. dlclose() skipped pre-API 28. This fixes weird crashes during uninit." This reverts commit 14f698fcf289261946aefd0000dc5989062cf423. --- miniaudio.h | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/miniaudio.h b/miniaudio.h index 3cbdbed5..a03b5e40 100644 --- a/miniaudio.h +++ b/miniaudio.h @@ -38472,18 +38472,6 @@ static ma_result ma_device_get_info__aaudio(ma_device* pDevice, ma_device_type t return MA_SUCCESS; } -static void ma_close_library__aaudio(ma_context* pContext) -{ - MA_ASSERT(pContext != NULL); - - /* Hack for Android bug (see https://github.com/android/ndk/issues/360). Calling dlclose() pre-API 28 may segfault. */ - if (ma_android_sdk_version() >= 28) { - ma_dlclose(ma_context_get_log(pContext), pContext->aaudio.hAAudio); - } - - pContext->aaudio.hAAudio = NULL; -} - static ma_result ma_context_uninit__aaudio(ma_context* pContext) { @@ -38491,7 +38479,9 @@ static ma_result ma_context_uninit__aaudio(ma_context* pContext) MA_ASSERT(pContext->backend == ma_backend_aaudio); ma_device_job_thread_uninit(&pContext->aaudio.jobThread, &pContext->allocationCallbacks); - ma_close_library__aaudio(pContext); + + ma_dlclose(ma_context_get_log(pContext), pContext->aaudio.hAAudio); + pContext->aaudio.hAAudio = NULL; return MA_SUCCESS; } @@ -38599,7 +38589,8 @@ static ma_result ma_context_init__aaudio(ma_context* pContext, const ma_context_ result = ma_device_job_thread_init(&jobThreadConfig, &pContext->allocationCallbacks, &pContext->aaudio.jobThread); if (result != MA_SUCCESS) { - ma_close_library__aaudio(pContext); + ma_dlclose(ma_context_get_log(pContext), pContext->aaudio.hAAudio); + pContext->aaudio.hAAudio = NULL; return result; } }