From 92fa1b9f95a4fa3462b44677e91bbdb7b0ebd37e Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Sun, 28 Jun 2009 20:06:45 +0000 Subject: [PATCH] - Fix broken check for KSDATARANGE_AUDIO - Zero struct svn path=/trunk/; revision=41674 --- reactos/drivers/wdm/audio/sysaudio/control.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/reactos/drivers/wdm/audio/sysaudio/control.c b/reactos/drivers/wdm/audio/sysaudio/control.c index 6a483b49ea9..fd1ca41ddb9 100644 --- a/reactos/drivers/wdm/audio/sysaudio/control.c +++ b/reactos/drivers/wdm/audio/sysaudio/control.c @@ -321,13 +321,16 @@ CreatePinWorkerRoutine( return; } + /* Zero pin connect */ + RtlZeroMemory(MixerPinConnect, sizeof(KSPIN_CONNECT) + sizeof(KSDATAFORMAT_WAVEFORMATEX)); + /* Copy initial connect details */ RtlMoveMemory(MixerPinConnect, WorkerContext->PinConnect, sizeof(KSPIN_CONNECT)); OutputFormat = (PKSDATAFORMAT_WAVEFORMATEX)(MixerPinConnect + 1); - Status = ComputeCompatibleFormat(WorkerContext->Entry, WorkerContext->PinConnect->PinId, WorkerContext->DeviceExtension, (PKSDATAFORMAT_WAVEFORMATEX)(WorkerContext->PinConnect + 1), OutputFormat); + Status = ComputeCompatibleFormat(WorkerContext->Entry, WorkerContext->PinConnect->PinId, WorkerContext->DeviceExtension, InputFormat, OutputFormat); if (!NT_SUCCESS(Status)) { DPRINT1("ComputeCompatibleFormat failed with %x\n", Status); @@ -612,6 +615,7 @@ ComputeCompatibleFormat( { UNIMPLEMENTED AudioRange = (PKSDATARANGE_AUDIO)((PUCHAR)AudioRange + AudioRange->DataRange.FormatSize); + continue; } /* Select best quality available */