From 46bbf95bae605ac8be1ca163e337b33928627960 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Fri, 18 Sep 2015 03:19:16 -0700 Subject: Disable mmdevapi capture and update changelog Unfortunately mmdevapi does not do channel remixing or resampling, even for capture, so the device can only be opened in the mode it's configured for. For now, fallback to dsound or winmm to get the conversion until we can do it ourselves. --- Alc/backends/mmdevapi.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'Alc/backends') diff --git a/Alc/backends/mmdevapi.c b/Alc/backends/mmdevapi.c index a6a12980..113af039 100644 --- a/Alc/backends/mmdevapi.c +++ b/Alc/backends/mmdevapi.c @@ -1781,7 +1781,12 @@ static void ALCmmdevBackendFactory_deinit(ALCmmdevBackendFactory* UNUSED(self)) static ALCboolean ALCmmdevBackendFactory_querySupport(ALCmmdevBackendFactory* UNUSED(self), ALCbackend_Type type) { - if(type == ALCbackend_Playback || type == ALCbackend_Capture) + /* TODO: Disable capture with mmdevapi for now, since it doesn't do any + * rechanneling or resampling; if the device is configured for 48000hz + * stereo input, for example, and the app asks for 22050hz mono, + * initialization will fail. + */ + if(type == ALCbackend_Playback /*|| type == ALCbackend_Capture*/) return ALC_TRUE; return ALC_FALSE; } -- cgit v1.2.3