mirror of
https://github.com/mackron/miniaudio.git
synced 2026-04-22 00:06:59 +02:00
Add APIs for checking for loopback support.
This commit is contained in:
+43
-1
@@ -2713,6 +2713,11 @@ Thread Safety: SAFE
|
||||
*/
|
||||
ma_result ma_context_get_device_info(ma_context* pContext, ma_device_type deviceType, const ma_device_id* pDeviceID, ma_share_mode shareMode, ma_device_info* pDeviceInfo);
|
||||
|
||||
/*
|
||||
Determines if the given context supports loopback mode.
|
||||
*/
|
||||
ma_bool32 ma_context_is_loopback_supported(ma_context* pContext);
|
||||
|
||||
/*
|
||||
Initializes a device.
|
||||
|
||||
@@ -2950,6 +2955,12 @@ Retrieves a friendly name for a backend.
|
||||
*/
|
||||
const char* ma_get_backend_name(ma_backend backend);
|
||||
|
||||
/*
|
||||
Determines whether or not loopback mode is support by a backend.
|
||||
*/
|
||||
ma_bool32 ma_is_loopback_supported(ma_backend backend);
|
||||
|
||||
|
||||
/*
|
||||
Adjust buffer size based on a scaling factor.
|
||||
|
||||
@@ -4368,7 +4379,29 @@ const char* ma_get_backend_name(ma_backend backend)
|
||||
case ma_backend_opensl: return "OpenSL|ES";
|
||||
case ma_backend_webaudio: return "Web Audio";
|
||||
case ma_backend_null: return "Null";
|
||||
default: return "Unknown";
|
||||
default: return "Unknown";
|
||||
}
|
||||
}
|
||||
|
||||
ma_bool32 ma_is_loopback_supported(ma_backend backend)
|
||||
{
|
||||
switch (backend)
|
||||
{
|
||||
case ma_backend_wasapi: return MA_TRUE;
|
||||
case ma_backend_dsound: return MA_FALSE;
|
||||
case ma_backend_winmm: return MA_FALSE;
|
||||
case ma_backend_coreaudio: return MA_FALSE;
|
||||
case ma_backend_sndio: return MA_FALSE;
|
||||
case ma_backend_audio4: return MA_FALSE;
|
||||
case ma_backend_oss: return MA_FALSE;
|
||||
case ma_backend_pulseaudio: return MA_FALSE;
|
||||
case ma_backend_alsa: return MA_FALSE;
|
||||
case ma_backend_jack: return MA_FALSE;
|
||||
case ma_backend_aaudio: return MA_FALSE;
|
||||
case ma_backend_opensl: return MA_FALSE;
|
||||
case ma_backend_webaudio: return MA_FALSE;
|
||||
case ma_backend_null: return MA_FALSE;
|
||||
default: return MA_FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24235,6 +24268,15 @@ ma_result ma_context_get_device_info(ma_context* pContext, ma_device_type device
|
||||
return MA_ERROR;
|
||||
}
|
||||
|
||||
ma_bool32 ma_context_is_loopback_supported(ma_context* pContext)
|
||||
{
|
||||
if (pContext == NULL) {
|
||||
return MA_FALSE;
|
||||
}
|
||||
|
||||
return ma_is_loopback_supported(pContext->backend);
|
||||
}
|
||||
|
||||
|
||||
ma_result ma_device_init(ma_context* pContext, const ma_device_config* pConfig, ma_device* pDevice)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user