X-Git-Url: https://git.reactos.org/?p=reactos.git;a=blobdiff_plain;f=lib%2Fdrivers%2Fsound%2Fmmebuddy%2Fwave%2Fformat.c;h=34541c4fa0c19222f575cac6c4ff9a0c6782ec8c;hp=ecc5bbc1d9ae336c6dcd94a9d5cda5288832e881;hb=0db537dac80007abf8eeaec611c5d21d073d04ed;hpb=458fddc634d2efa33e889fbed8e31b1bcec6ef10;ds=sidebyside diff --git a/lib/drivers/sound/mmebuddy/wave/format.c b/lib/drivers/sound/mmebuddy/wave/format.c index ecc5bbc1d9a..34541c4fa0c 100644 --- a/lib/drivers/sound/mmebuddy/wave/format.c +++ b/lib/drivers/sound/mmebuddy/wave/format.c @@ -65,8 +65,6 @@ SetWaveDeviceFormat( SND_TRACE(L"Setting wave format\n"); VALIDATE_MMSYS_PARAMETER( IsValidSoundDeviceInstance(SoundDeviceInstance) ); - VALIDATE_MMSYS_PARAMETER( Format ); - VALIDATE_MMSYS_PARAMETER( FormatSize >= sizeof(WAVEFORMATEX) ); Result = GetSoundDeviceFromInstance(SoundDeviceInstance, &SoundDevice); if ( ! MMSUCCESS(Result) ) @@ -74,9 +72,14 @@ SetWaveDeviceFormat( Result = GetSoundDeviceType(SoundDevice, &DeviceType); SND_ASSERT( Result == MMSYSERR_NOERROR ); + if (DeviceType == WAVE_IN_DEVICE_TYPE || DeviceType == WAVE_OUT_DEVICE_TYPE) + { + VALIDATE_MMSYS_PARAMETER( Format ); + VALIDATE_MMSYS_PARAMETER( FormatSize >= sizeof(WAVEFORMATEX) ); + } /* Ensure we have a wave device (TODO: check if this applies to wavein as well) */ - VALIDATE_MMSYS_PARAMETER( IS_WAVE_DEVICE_TYPE(DeviceType) ); + VALIDATE_MMSYS_PARAMETER( IS_WAVE_DEVICE_TYPE(DeviceType) || IS_MIDI_DEVICE_TYPE(DeviceType) || IS_MIXER_DEVICE_TYPE(DeviceType)); /* Obtain the function table */ Result = GetSoundDeviceFunctionTable(SoundDevice, &FunctionTable);