mal_mutexdeviceEnumLock;// Used to make mal_context_get_devices() thread safe.
mal_mutexdeviceInfoLock;// Used to make mal_context_get_device_info() thread safe.
mal_uint32deviceInfoCapacity;// Total capacity of pDeviceInfos.
mal_uint32playbackDeviceInfoCount;
mal_uint32captureDeviceInfoCount;
mal_device_info*pDeviceInfos;// Playback devices first, then capture.
mal_result(*onEnumDevices)(mal_context*pContext,mal_enum_devices_callback_proccallback,void*pUserData);// Return false from the callback to stop enumeration.
mal_context_post_error(pContext,NULL,"WARNING: Failed to initialize mutex for device enumeration. mal_context_get_devices() is not thread safe.",MAL_FAILED_TO_CREATE_MUTEX);
mal_context_post_error(pContext,NULL,"WARNING: Failed to initialize mutex for device info retrieval. mal_context_get_device_info() is not thread safe.",MAL_FAILED_TO_CREATE_MUTEX);