JACK: Minor memory allocation optimization.

This commit is contained in:
David Reid
2026-01-15 12:34:20 +10:00
parent ce4f9aab39
commit 461ced3280
+15 -9
View File
@@ -32629,17 +32629,31 @@ static ma_result ma_context_init__jack(ma_context* pContext, const void* pContex
const ma_context_config_jack* pContextConfigJACK = (const ma_context_config_jack*)pContextBackendConfig; const ma_context_config_jack* pContextConfigJACK = (const ma_context_config_jack*)pContextBackendConfig;
ma_context_config_jack defaultConfigJACK; ma_context_config_jack defaultConfigJACK;
ma_log* pLog = ma_context_get_log(pContext); ma_log* pLog = ma_context_get_log(pContext);
size_t clientNameSize;
if (pContextConfigJACK == NULL) { if (pContextConfigJACK == NULL) {
defaultConfigJACK = ma_context_config_jack_init(); defaultConfigJACK = ma_context_config_jack_init();
pContextConfigJACK = &defaultConfigJACK; pContextConfigJACK = &defaultConfigJACK;
} }
pContextStateJACK = (ma_context_state_jack*)ma_calloc(sizeof(*pContextStateJACK), ma_context_get_allocation_callbacks(pContext)); if (pContextConfigJACK->pClientName != NULL) {
clientNameSize = strlen(pContextConfigJACK->pClientName) + 1;
} else {
clientNameSize = 0;
}
pContextStateJACK = (ma_context_state_jack*)ma_calloc(ma_align_64(sizeof(*pContextStateJACK) + clientNameSize), ma_context_get_allocation_callbacks(pContext));
if (pContextStateJACK == NULL) { if (pContextStateJACK == NULL) {
return MA_OUT_OF_MEMORY; return MA_OUT_OF_MEMORY;
} }
if (pContextConfigJACK->pClientName != NULL) {
pContextStateJACK->pClientName = (char*)ma_offset_ptr(pContextStateJACK, ma_align_64(sizeof(*pContextStateJACK)));
ma_strcpy_s(pContextStateJACK->pClientName, clientNameSize, pContextConfigJACK->pClientName);
} else {
pContextStateJACK->pClientName = NULL;
}
#ifndef MA_NO_RUNTIME_LINKING #ifndef MA_NO_RUNTIME_LINKING
{ {
const char* libjackNames[] = { const char* libjackNames[] = {
@@ -32726,10 +32740,6 @@ static ma_result ma_context_init__jack(ma_context* pContext, const void* pContex
} }
#endif #endif
if (pContextConfigJACK->pClientName != NULL) {
pContextStateJACK->pClientName = ma_copy_string(pContextConfigJACK->pClientName, ma_context_get_allocation_callbacks(pContext));
}
pContextStateJACK->tryStartServer = pContextConfigJACK->tryStartServer; pContextStateJACK->tryStartServer = pContextConfigJACK->tryStartServer;
/* /*
@@ -32740,7 +32750,6 @@ static ma_result ma_context_init__jack(ma_context* pContext, const void* pContex
ma_jack_client_t* pDummyClient; ma_jack_client_t* pDummyClient;
ma_result result = ma_context_open_client__jack(pContextStateJACK, &pDummyClient); ma_result result = ma_context_open_client__jack(pContextStateJACK, &pDummyClient);
if (result != MA_SUCCESS) { if (result != MA_SUCCESS) {
ma_free(pContextStateJACK->pClientName, ma_context_get_allocation_callbacks(pContext));
#ifndef MA_NO_RUNTIME_LINKING #ifndef MA_NO_RUNTIME_LINKING
{ {
ma_dlclose(pLog, pContextStateJACK->jackSO); ma_dlclose(pLog, pContextStateJACK->jackSO);
@@ -32765,9 +32774,6 @@ static void ma_context_uninit__jack(ma_context* pContext)
MA_ASSERT(pContextStateJACK != NULL); MA_ASSERT(pContextStateJACK != NULL);
ma_free(pContextStateJACK->pClientName, ma_context_get_allocation_callbacks(pContext));
pContextStateJACK->pClientName = NULL;
#ifndef MA_NO_RUNTIME_LINKING #ifndef MA_NO_RUNTIME_LINKING
{ {
ma_dlclose(ma_context_get_log(pContext), pContextStateJACK->jackSO); ma_dlclose(ma_context_get_log(pContext), pContextStateJACK->jackSO);