aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2015-09-18 03:19:16 -0700
committerChris Robinson <[email protected]>2015-09-18 03:19:16 -0700
commit46bbf95bae605ac8be1ca163e337b33928627960 (patch)
tree8ae1eea9e06f7e3c19b2b52d91b73e09bf91571d /Alc/backends
parentdb0f29f6d86d301b5f57f7dbe97c1544a0f79a10 (diff)
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.
Diffstat (limited to 'Alc/backends')
-rw-r--r--Alc/backends/mmdevapi.c7
1 files changed, 6 insertions, 1 deletions
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;
}