From b401f7d4d21b8b3a40c9e5bbc9b4c31b9c8fcf6b Mon Sep 17 00:00:00 2001 From: David Reid Date: Wed, 9 May 2018 18:27:51 +1000 Subject: [PATCH] Return a valid channel map when channel count is 0 for device configs. --- mini_al.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/mini_al.h b/mini_al.h index a483369a..e38135dc 100644 --- a/mini_al.h +++ b/mini_al.h @@ -16547,14 +16547,18 @@ mal_device_config mal_device_config_init_ex(mal_format format, mal_uint32 channe config.onRecvCallback = onRecvCallback; config.onSendCallback = onSendCallback; - if (channelMap == NULL) { - if (channels > 8) { - mal_zero_memory(channelMap, sizeof(mal_channel)*MAL_MAX_CHANNELS); + if (channels > 0) { + if (channelMap == NULL) { + if (channels > 8) { + mal_zero_memory(config.channelMap, sizeof(mal_channel)*MAL_MAX_CHANNELS); + } else { + mal_get_standard_channel_map(mal_standard_channel_map_default, channels, config.channelMap); + } } else { - mal_get_standard_channel_map(mal_standard_channel_map_default, channels, config.channelMap); + mal_copy_memory(config.channelMap, channelMap, sizeof(config.channelMap)); } } else { - mal_copy_memory(config.channelMap, channelMap, sizeof(config.channelMap)); + mal_zero_memory(config.channelMap, sizeof(mal_channel)*MAL_MAX_CHANNELS); } return config;