From 609b050676cebbd2b0e06aa6871c5326e1f6a1a5 Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Fri, 5 Aug 2022 17:43:43 +1000 Subject: [PATCH] dep/cubeb: Add cubeb_get_backend_names() --- dep/cubeb/include/cubeb/cubeb.h | 5 +++ dep/cubeb/src/cubeb.c | 55 +++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) diff --git a/dep/cubeb/include/cubeb/cubeb.h b/dep/cubeb/include/cubeb/cubeb.h index f653f5b7d..88be3b7b5 100644 --- a/dep/cubeb/include/cubeb/cubeb.h +++ b/dep/cubeb/include/cubeb/cubeb.h @@ -469,6 +469,11 @@ CUBEB_EXPORT int cubeb_init(cubeb ** context, char const * context_name, char const * backend_name); +/** Returns a list of backend names which can be supplid to cubeb_init(). + Array is null-terminated. */ +CUBEB_EXPORT const char** +cubeb_get_backend_names(); + /** Get a read-only string identifying this context's current backend. @param context A pointer to the cubeb context. @retval Read-only string identifying current backend. */ diff --git a/dep/cubeb/src/cubeb.c b/dep/cubeb/src/cubeb.c index b3d32eea3..d5627f1d8 100644 --- a/dep/cubeb/src/cubeb.c +++ b/dep/cubeb/src/cubeb.c @@ -290,6 +290,61 @@ cubeb_init(cubeb ** context, char const * context_name, return CUBEB_ERROR; } +const char** +cubeb_get_backend_names() +{ + static const char* backend_names[] = { +#if defined(USE_PULSE) + "pulse", +#endif +#if defined(USE_PULSE_RUST) + "pulse-rust", +#endif +#if defined(USE_JACK) + "jack", +#endif +#if defined(USE_ALSA) + "alsa", +#endif +#if defined(USE_AUDIOUNIT) + "audiounit", +#endif +#if defined(USE_AUDIOUNIT_RUST) + "audiounit-rust", +#endif +#if defined(USE_WASAPI) + "wasapi", +#endif +#if defined(USE_WINMM) + "winmm", +#endif +#if defined(USE_SNDIO) + "sndio", +#endif +#if defined(USE_SUN) + "sun", +#endif +#if defined(USE_OPENSL) + "opensl", +#endif +#if defined(USE_OSS) + "oss", +#endif +#if defined(USE_AAUDIO) + "aaudio", +#endif +#if defined(USE_AUDIOTRACK) + "audiotrack", +#endif +#if defined(USE_KAI) + "kai", +#endif + NULL, + }; + + return backend_names; +} + char const * cubeb_get_backend_id(cubeb * context) {