Hi wine-devs,

I have sent this patch to wine-patches, but it appears to have been dropped. I 
have resent it with some additional explanantion (below).

Is there anything I've done wrong / anything I should do in order to get this 
patch accepted?

Any advice would be appreciated,
Thanks

Davin

PS. How long should I wait for a patch to be accepted before I assume it's been 
dropped?

----
Hi,
This is my first ever wine patch.

I have been doing work on DSound as discussed on wine-devel with some very 
promising results (see the discussion there). As a result I have a large number 
of changes which I intend to provide a series of patches for.

This is one is probably the most trivial fix and is largely unrelated to the 
other fixes. But if you look at the code for a while as I have you can see that 
it's obviously correct - the existing implementation of PhaseCancel inverts the 
original waveform; with this patch it doesn't.

Please consider accepting.
Thanks,
- Davin


Changelog:
DSound: PhaseCancel subtracts secondary buffer from primary buffer, not the 
other way around.

Davin McCall    [EMAIL PROTECTED]



--- wine-0.9-orig/dlls/dsound/mixer.c	Mon Oct 17 19:24:50 2005
+++ wine-0.9/dlls/dsound/mixer.c	Mon Oct 31 00:11:53 2005
@@ -536,8 +536,8 @@
 
 		for (i = 0; i < todo; i++) {
 			/* 8-bit WAV is unsigned */
-			field = (*ibuf++ - 128);
-			field -= (*obuf - 128);
+			field = (*obuf - 128);
+			field -= (*ibuf++ - 128);
 			if (field > 127) field = 127;
 			else if (field < -128) field = -128;
 			*obuf++ = field + 128;
@@ -549,8 +549,8 @@
 
 			for (i = 0; i < todo; i++) {
 				/* 8-bit WAV is unsigned */
-				field = (*ibuf++ - 128);
-				field -= (*obuf - 128);
+				field = (*obuf - 128);
+				field -= (*ibuf++ - 128);
 				if (field > 127) field = 127;
 				else if (field < -128) field = -128;
 				*obuf++ = field + 128;
@@ -569,8 +569,8 @@
 
 		for (i = 0; i < todo; i++) {
 			/* 16-bit WAV is signed */
-			field = *ibufs++;
-			field -= *obufs;
+			field = *obufs;
+			field -= *ibufs++;
 			if (field > 32767) field = 32767;
 			else if (field < -32768) field = -32768;
 			*obufs++ = field;
@@ -582,8 +582,8 @@
 
 			for (i = 0; i < todo; i++) {
 				/* 16-bit WAV is signed */
-				field = *ibufs++;
-				field -= *obufs;
+				field = *obufs;
+				field -= *ibufs++;
 				if (field > 32767) field = 32767;
 				else if (field < -32768) field = -32768;
 				*obufs++ = field;




Reply via email to