Alexandre Julliard : faudio: Import upstream release 22.08.

Alexandre Julliard julliard at winehq.org
Wed Aug 3 15:31:40 CDT 2022


Module: wine
Branch: master
Commit: ce0a985f1bc887c4a606697f635d1716232855ac
URL:    https://gitlab.winehq.org/wine/wine/-/commit/ce0a985f1bc887c4a606697f635d1716232855ac

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Aug  3 17:13:51 2022 +0200

faudio: Import upstream release 22.08.

---

 libs/faudio/include/FAudio.h            |  2 +-
 libs/faudio/src/FAudio_platform_win32.c |  2 +-
 libs/faudio/src/matrix_defaults.inl     | 62 +++++++++++++++++++++++++++++++++
 3 files changed, 64 insertions(+), 2 deletions(-)

diff --git a/libs/faudio/include/FAudio.h b/libs/faudio/include/FAudio.h
index f9dce8dfc16..88d5e996cbf 100644
--- a/libs/faudio/include/FAudio.h
+++ b/libs/faudio/include/FAudio.h
@@ -485,7 +485,7 @@ extern FAudioGUID DATAFORMAT_SUBTYPE_IEEE_FLOAT;
 
 #define FAUDIO_ABI_VERSION	 0
 #define FAUDIO_MAJOR_VERSION	22
-#define FAUDIO_MINOR_VERSION	 7
+#define FAUDIO_MINOR_VERSION	 8
 #define FAUDIO_PATCH_VERSION	 0
 
 #define FAUDIO_COMPILED_VERSION ( \
diff --git a/libs/faudio/src/FAudio_platform_win32.c b/libs/faudio/src/FAudio_platform_win32.c
index 29944edcfed..8ed9cde1c7d 100644
--- a/libs/faudio/src/FAudio_platform_win32.c
+++ b/libs/faudio/src/FAudio_platform_win32.c
@@ -582,7 +582,7 @@ FAudioThread FAudio_PlatformCreateThread(
 void FAudio_PlatformWaitThread(FAudioThread thread, int32_t *retval)
 {
 	WaitForSingleObject(thread, INFINITE);
-	GetExitCodeThread(thread, (DWORD *)retval);
+	if (retval != NULL) GetExitCodeThread(thread, (DWORD *)retval);
 }
 
 void FAudio_PlatformThreadPriority(FAudioThreadPriority priority)
diff --git a/libs/faudio/src/matrix_defaults.inl b/libs/faudio/src/matrix_defaults.inl
index 2262a6a0744..6f540f289d3 100644
--- a/libs/faudio/src/matrix_defaults.inl
+++ b/libs/faudio/src/matrix_defaults.inl
@@ -1,6 +1,68 @@
 /* This was generated by making 8 sources and 8 submixes, then assigning each
  * submix to each voice and dumping the output matrix. Terrible, but it worked!
  */
+/*
+int main(int argc, char **argv)
+{
+	CoInitialize(NULL);
+
+	IXAudio2 *engine;
+	XAudio2Create(&engine);
+
+	IXAudio2MasteringVoice *master;
+	engine->CreateMasteringVoice(&master);
+
+	FILE *fileOut = fopen("matrix_defaults.inl", "w");
+	for (int srcChans = 1; srcChans < 9; srcChans += 1)
+	{
+		fprintf(fileOut, "{\n");
+		for (int dstChans = 1; dstChans < 9; dstChans += 1)
+		{
+			IXAudio2SubmixVoice *submix;
+			engine->CreateSubmixVoice(&submix, dstChans, 48000);
+
+			XAUDIO2_SEND_DESCRIPTOR sendDesc;
+			sendDesc.Flags = 0;
+			sendDesc.pOutputVoice = submix;
+
+			XAUDIO2_VOICE_SENDS sends;
+			sends.SendCount = 1;
+			sends.pSends = &sendDesc;
+
+			WAVEFORMATEX fmt;
+			fmt.wFormatTag = 1;
+			fmt.nChannels = srcChans;
+			fmt.nSamplesPerSec = 48000;
+			fmt.wBitsPerSample = 16;
+			fmt.nBlockAlign = srcChans * (fmt.wBitsPerSample / 8);
+			fmt.nAvgBytesPerSec = fmt.nBlockAlign * fmt.nSamplesPerSec;
+			fmt.cbSize = 0;
+
+			IXAudio2SourceVoice *source;
+			engine->CreateSourceVoice(&source, &fmt, 0, 2.0f, NULL, &sends);
+
+			float matrix[8 * 8];
+			source->GetOutputMatrix(submix, srcChans, dstChans, matrix);
+			fprintf(fileOut, "\t{ ");
+			for (int i = 0; i < srcChans * dstChans; i += 1)
+			{
+				fprintf(fileOut, "%.9f%s ", matrix[i], (i == ((srcChans * dstChans) - 1)) ? "" : ",");
+			}
+			fprintf(fileOut, "}%s\n", (dstChans == 8) ? "" : ",");
+
+			source->DestroyVoice();
+			submix->DestroyVoice();
+		}
+		fprintf(fileOut, "}%s\n", (srcChans == 8) ? "" : ",");
+	}
+	fclose(fileOut);
+
+	master->DestroyVoice();
+	engine->Release();
+	CoUninitialize();
+	return 0;
+}
+*/
 {
 	/* 1 x 1 */
 	{ 1.000000000f },




More information about the wine-cvs mailing list