From 9aa4744a94ee4d5ea985544b88cc079e54103a13 Mon Sep 17 00:00:00 2001 From: David Reid Date: Mon, 19 Jan 2026 18:20:31 +1000 Subject: [PATCH] PipeWire: Fix a memory leak. --- extras/backends/pipewire/miniaudio_pipewire.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/extras/backends/pipewire/miniaudio_pipewire.c b/extras/backends/pipewire/miniaudio_pipewire.c index 11ff94a5..5fb75fa3 100644 --- a/extras/backends/pipewire/miniaudio_pipewire.c +++ b/extras/backends/pipewire/miniaudio_pipewire.c @@ -1791,7 +1791,13 @@ static void ma_enumerate_devices_data_pipewire_init(ma_enumerate_devices_data_pi static void ma_enumerate_devices_data_pipewire_uninit(ma_enumerate_devices_data_pipewire* pEnumData) { - /* TODO: Delete pMetadata object. */ + if (pEnumData->pMetadataDefault != NULL) { + pEnumData->pContextStatePipeWire->pw_proxy_destroy((struct ma_pw_proxy*)pEnumData->pMetadataDefault); + } + if (pEnumData->pMetadataSettings != NULL) { + pEnumData->pContextStatePipeWire->pw_proxy_destroy((struct ma_pw_proxy*)pEnumData->pMetadataSettings); + } + ma_free(pEnumData->playback.pDevices, pEnumData->pAllocationCallbacks); ma_free(pEnumData->capture.pDevices, pEnumData->pAllocationCallbacks); }