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.
This commit is contained in:
Chris Robinson 2015-09-18 03:19:16 -07:00
parent db0f29f6d8
commit 46bbf95bae
2 changed files with 8 additions and 3 deletions

View File

@ -1781,7 +1781,12 @@ static void ALCmmdevBackendFactory_deinit(ALCmmdevBackendFactory* UNUSED(self))
static ALCboolean ALCmmdevBackendFactory_querySupport(ALCmmdevBackendFactory* UNUSED(self), ALCbackend_Type type) 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_TRUE;
return ALC_FALSE; return ALC_FALSE;
} }

View File

@ -11,8 +11,6 @@ openal-soft-1.17.0:
Implemented B-Format output support for the wave file writer. This creates Implemented B-Format output support for the wave file writer. This creates
FuMa-style first-order Ambisonics wave files (AMB format). FuMa-style first-order Ambisonics wave files (AMB format).
Implemented capture support for the MMDevAPI backend.
Implemented a stereo-mode config option for treating stereo modes as either Implemented a stereo-mode config option for treating stereo modes as either
speakers or headphones. speakers or headphones.
@ -35,6 +33,8 @@ openal-soft-1.17.0:
Fixed returning the default capture device name. Fixed returning the default capture device name.
Fixed mixing property calculations when deferring context updates.
Altered the behavior of alcSuspendContext and alcProcessContext to better Altered the behavior of alcSuspendContext and alcProcessContext to better
match certain Windows drivers. match certain Windows drivers.