From d49ca49848a28b3cf34ba1c569590bc91ab7a777 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Sun, 13 Jul 2014 02:07:52 +0200 Subject: [PATCH] Update wine-pulse patches (extracted from version 1.7.21). --- ...-Load-winealsa-if-winepulse-is-found.patch | 8 ++--- ...-initial-stub-for-pulseaudio-support.patch | 30 +++++++++---------- ...epulse-Add-format-and-period-probing.patch | 8 ++--- .../0004-winepulse-Add-audioclient.patch | 8 ++--- ...udioRenderClient-and-IAudioCaptureCl.patch | 8 ++--- ...lse-Add-IAudioClock-and-IAudioClock2.patch | 8 ++--- ...0007-winepulse-Add-audiostreamvolume.patch | 8 ++--- .../0008-winepulse-Add-session-support.patch | 8 ++--- .../0009-fix-fdels-trailing-whitespaces.patch | 8 ++--- patches/06-winepulse/0010-winepulse-v12.patch | 8 ++--- ...d-support-for-missing-formats-and-si.patch | 8 ++--- ...d-official-warning-wine-doesn-t-want.patch | 8 ++--- .../0013-winepulse-v17-Fix-winmm-tests.patch | 8 ++--- ...Latency-and-compilation-improvements.patch | 8 ++--- ...I-Compatibility-with-1.5.2-onward-v2.patch | 8 ++--- ...16-winepulse-Fix-low-latency-support.patch | 8 ++--- ...ealtime-priority-before-thread-destr.patch | 8 ++--- ...-bogus-SetEvent-from-pulse_started_c.patch | 8 ++--- ...e-the-setevent-part-of-the-latency-h.patch | 8 ++--- ...-fix-the-checks-in-IsFormatSupported.patch | 8 ++--- ...epulse-fixup-IsFormatSupported-calls.patch | 8 ++--- ...eturn-early-if-padding-didn-t-update.patch | 8 ++--- ...winepulse-fix-unneeded-free-in-write.patch | 8 ++--- ...v23-fixup-a-invalid-free-in-mmdevapi.patch | 8 ++--- ...lse-use-a-pi-mutex-for-serialization.patch | 8 ++--- ...6-winepulse-add-support-for-IMarshal.patch | 8 ++--- ...ndle-stream-create-failing-correctly.patch | 29 ++++++++++++++++++ patches/06-winepulse/definition | 4 +-- patches/Makefile | 5 ++-- 29 files changed, 149 insertions(+), 119 deletions(-) create mode 100644 patches/06-winepulse/0027-winepulse-handle-stream-create-failing-correctly.patch diff --git a/patches/06-winepulse/0001-winmm-Load-winealsa-if-winepulse-is-found.patch b/patches/06-winepulse/0001-winmm-Load-winealsa-if-winepulse-is-found.patch index 216a4b89..6203df78 100644 --- a/patches/06-winepulse/0001-winmm-Load-winealsa-if-winepulse-is-found.patch +++ b/patches/06-winepulse/0001-winmm-Load-winealsa-if-winepulse-is-found.patch @@ -1,7 +1,7 @@ -From 8cb75a25d71c1ea659ce69fa74f725cd9b9a64f0 Mon Sep 17 00:00:00 2001 +From 9c64dcb14a77b7b1835bb06e03c90c502a1109f0 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:53 +0100 -Subject: [PATCH 08/42] winmm: Load winealsa if winepulse is found +Date: Tue, 24 Jun 2014 08:48:45 +0200 +Subject: [PATCH 08/43] winmm: Load winealsa if winepulse is found Fixes midi on winepulse --- @@ -25,5 +25,5 @@ index c3b3674..56cfe35 100644 HeapFree(GetProcessHeap(), 0, drvA); PropVariantClear(&pv); -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0002-winepulse-Add-initial-stub-for-pulseaudio-support.patch b/patches/06-winepulse/0002-winepulse-Add-initial-stub-for-pulseaudio-support.patch index b3be2ae5..b3ceae0a 100644 --- a/patches/06-winepulse/0002-winepulse-Add-initial-stub-for-pulseaudio-support.patch +++ b/patches/06-winepulse/0002-winepulse-Add-initial-stub-for-pulseaudio-support.patch @@ -1,7 +1,7 @@ -From dac832bfc418de315808a109ab9adba0c5936be5 Mon Sep 17 00:00:00 2001 +From 182d5c5625ea79c4506daa6856de158558de24d8 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:53 +0100 -Subject: [PATCH 09/42] winepulse: Add initial stub for pulseaudio support +Date: Tue, 24 Jun 2014 08:48:45 +0200 +Subject: [PATCH 09/43] winepulse: Add initial stub for pulseaudio support --- Just the basic of initialization and pulseaudio mainloop support is @@ -19,7 +19,7 @@ added here. create mode 100644 dlls/winepulse.drv/winepulse.drv.spec diff --git a/configure b/configure -index 246b888..d9f6ddd 100755 +index edc03ea..0e31555 100755 --- a/configure +++ b/configure @@ -653,6 +653,8 @@ OSS4_CFLAGS @@ -39,7 +39,7 @@ index 246b888..d9f6ddd 100755 with_sane with_tiff with_v4l -@@ -1253,6 +1256,7 @@ enable_winemapi +@@ -1262,6 +1265,7 @@ enable_winemapi enable_winemp3_acm enable_wineoss_drv enable_wineps_drv @@ -47,7 +47,7 @@ index 246b888..d9f6ddd 100755 enable_wineqtdecoder enable_winex11_drv enable_wing32 -@@ -2079,6 +2083,7 @@ Optional Packages: +@@ -2091,6 +2095,7 @@ Optional Packages: --without-oss do not use the OSS sound support --without-png do not use PNG --without-pthread do not use the pthread library @@ -55,7 +55,7 @@ index 246b888..d9f6ddd 100755 --without-sane do not use SANE (scanner support) --without-tiff do not use TIFF --without-v4l do not use v4l1 (v4l support) -@@ -3320,6 +3325,12 @@ if test "${with_pthread+set}" = set; then : +@@ -3332,6 +3337,12 @@ if test "${with_pthread+set}" = set; then : fi @@ -68,7 +68,7 @@ index 246b888..d9f6ddd 100755 # Check whether --with-sane was given. if test "${with_sane+set}" = set; then : withval=$with_sane; -@@ -12083,6 +12094,87 @@ esac +@@ -12102,6 +12113,87 @@ esac fi fi @@ -156,7 +156,7 @@ index 246b888..d9f6ddd 100755 if test "x$with_gstreamer" != "xno" then if ${GSTREAMER_CFLAGS:+false} :; then : -@@ -13394,12 +13486,14 @@ fi +@@ -13413,12 +13505,14 @@ fi test -n "$ALSA_LIBS" || enable_winealsa_drv=${enable_winealsa_drv:-no} test -n "$COREAUDIO_LIBS" || enable_winecoreaudio_drv=${enable_winecoreaudio_drv:-no} @@ -173,7 +173,7 @@ index 246b888..d9f6ddd 100755 then as_fn_append wine_warnings "|No sound system was found. Windows applications will be silent." fi -@@ -17203,6 +17297,7 @@ wine_fn_config_dll winemp3.acm enable_winemp3_acm +@@ -17260,6 +17354,7 @@ wine_fn_config_dll winemp3.acm enable_winemp3_acm wine_fn_config_dll wineoss.drv enable_wineoss_drv wine_fn_config_dll wineps.drv enable_wineps_drv clean,po wine_fn_config_dll wineps16.drv16 enable_win16 @@ -182,7 +182,7 @@ index 246b888..d9f6ddd 100755 wine_fn_config_dll winex11.drv enable_winex11_drv wine_fn_config_dll wing.dll16 enable_win16 diff --git a/configure.ac b/configure.ac -index de807d2..ec3db46 100644 +index eccf19c..d4939c7 100644 --- a/configure.ac +++ b/configure.ac @@ -70,6 +70,7 @@ AC_ARG_WITH(oss, AS_HELP_STRING([--without-oss],[do not use the OSS sound @@ -193,7 +193,7 @@ index de807d2..ec3db46 100644 AC_ARG_WITH(sane, AS_HELP_STRING([--without-sane],[do not use SANE (scanner support)])) AC_ARG_WITH(tiff, AS_HELP_STRING([--without-tiff],[do not use TIFF])) AC_ARG_WITH(v4l, AS_HELP_STRING([--without-v4l],[do not use v4l1 (v4l support)])) -@@ -1512,6 +1513,30 @@ then +@@ -1516,6 +1517,30 @@ then [GetText ${notice_platform}development files not found (or too old), po files can't be rebuilt.]) fi @@ -224,7 +224,7 @@ index de807d2..ec3db46 100644 dnl **** Check for gstreamer **** if test "x$with_gstreamer" != "xno" then -@@ -1730,13 +1755,15 @@ fi +@@ -1734,13 +1759,15 @@ fi dnl **** Disable unsupported winmm drivers **** test -n "$ALSA_LIBS" || enable_winealsa_drv=${enable_winealsa_drv:-no} test -n "$COREAUDIO_LIBS" || enable_winecoreaudio_drv=${enable_winecoreaudio_drv:-no} @@ -242,7 +242,7 @@ index de807d2..ec3db46 100644 then WINE_WARNING([No sound system was found. Windows applications will be silent.]) fi -@@ -3217,6 +3244,7 @@ WINE_CONFIG_DLL(winemp3.acm) +@@ -3235,6 +3262,7 @@ WINE_CONFIG_DLL(winemp3.acm) WINE_CONFIG_DLL(wineoss.drv) WINE_CONFIG_DLL(wineps.drv,,[clean,po]) WINE_CONFIG_DLL(wineps16.drv16,enable_win16) @@ -584,5 +584,5 @@ index 0000000..a089166 +@ stdcall -private GetAudioEndpoint(ptr ptr long ptr) AUDDRV_GetAudioEndpoint +@ stdcall -private GetAudioSessionManager(ptr ptr) AUDDRV_GetAudioSessionManager -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0003-winepulse-Add-format-and-period-probing.patch b/patches/06-winepulse/0003-winepulse-Add-format-and-period-probing.patch index 00eeee49..2b2fc71a 100644 --- a/patches/06-winepulse/0003-winepulse-Add-format-and-period-probing.patch +++ b/patches/06-winepulse/0003-winepulse-Add-format-and-period-probing.patch @@ -1,7 +1,7 @@ -From ac6de861806e5692fa004cb2c449feba95287323 Mon Sep 17 00:00:00 2001 +From 66366363c2c99a359dfea648d2de409e362b5557 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:53 +0100 -Subject: [PATCH 10/42] winepulse: Add format and period probing +Date: Tue, 24 Jun 2014 08:48:46 +0200 +Subject: [PATCH 10/43] winepulse: Add format and period probing --- dlls/winepulse.drv/mmdevdrv.c | 128 ++++++++++++++++++++++++++++++++++++++++++ @@ -168,5 +168,5 @@ index d187bdc..40db26d 100644 UINT *num, UINT *def_index) { -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0004-winepulse-Add-audioclient.patch b/patches/06-winepulse/0004-winepulse-Add-audioclient.patch index 8e8190df..5878f498 100644 --- a/patches/06-winepulse/0004-winepulse-Add-audioclient.patch +++ b/patches/06-winepulse/0004-winepulse-Add-audioclient.patch @@ -1,7 +1,7 @@ -From 54c37abb982df8e5aefccfe2add2a05fa5707db8 Mon Sep 17 00:00:00 2001 +From 26cd0e172f299c7e63c51af9f67035f4e5865822 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:53 +0100 -Subject: [PATCH 11/42] winepulse: Add audioclient +Date: Tue, 24 Jun 2014 08:48:46 +0200 +Subject: [PATCH 11/43] winepulse: Add audioclient --- Without AudioRenderClient and AudioCaptureClient it won't work, @@ -1094,5 +1094,5 @@ index 40db26d..37d85ff 100644 IAudioSessionManager2 **out) { -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0005-winepulse-Add-IAudioRenderClient-and-IAudioCaptureCl.patch b/patches/06-winepulse/0005-winepulse-Add-IAudioRenderClient-and-IAudioCaptureCl.patch index 0e2083c9..83096f8d 100644 --- a/patches/06-winepulse/0005-winepulse-Add-IAudioRenderClient-and-IAudioCaptureCl.patch +++ b/patches/06-winepulse/0005-winepulse-Add-IAudioRenderClient-and-IAudioCaptureCl.patch @@ -1,7 +1,7 @@ -From 4191de925518baace7ad4c13a0c72750a91f1abd Mon Sep 17 00:00:00 2001 +From 9cca5914bed2a12edcafc8cebf5918d51e2570de Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:54 +0100 -Subject: [PATCH 12/42] winepulse: Add IAudioRenderClient and +Date: Tue, 24 Jun 2014 08:48:46 +0200 +Subject: [PATCH 12/43] winepulse: Add IAudioRenderClient and IAudioCaptureClient --- @@ -348,5 +348,5 @@ index 37d85ff..01cfd25 100644 IAudioSessionManager2 **out) { -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0006-winepulse-Add-IAudioClock-and-IAudioClock2.patch b/patches/06-winepulse/0006-winepulse-Add-IAudioClock-and-IAudioClock2.patch index 3ef9102e..14eb3ee1 100644 --- a/patches/06-winepulse/0006-winepulse-Add-IAudioClock-and-IAudioClock2.patch +++ b/patches/06-winepulse/0006-winepulse-Add-IAudioClock-and-IAudioClock2.patch @@ -1,7 +1,7 @@ -From 2e3b7073ee776ecbd5b186d8f146e80ef30775b8 Mon Sep 17 00:00:00 2001 +From 6b97d362c570ec4a813db1d58574a94ad61f9015 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:54 +0100 -Subject: [PATCH 13/42] winepulse: Add IAudioClock and IAudioClock2 +Date: Tue, 24 Jun 2014 08:48:46 +0200 +Subject: [PATCH 13/43] winepulse: Add IAudioClock and IAudioClock2 --- dlls/winepulse.drv/mmdevdrv.c | 172 ++++++++++++++++++++++++++++++++++++++++++ @@ -205,5 +205,5 @@ index 01cfd25..3ed2288 100644 IAudioSessionManager2 **out) { -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0007-winepulse-Add-audiostreamvolume.patch b/patches/06-winepulse/0007-winepulse-Add-audiostreamvolume.patch index 412082c9..e6e933f4 100644 --- a/patches/06-winepulse/0007-winepulse-Add-audiostreamvolume.patch +++ b/patches/06-winepulse/0007-winepulse-Add-audiostreamvolume.patch @@ -1,7 +1,7 @@ -From 85e33b703dd8c082af2b4a008215adca70308fc5 Mon Sep 17 00:00:00 2001 +From 0f827300a5f9d66de488f43fa5f544e97335ea35 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:54 +0100 -Subject: [PATCH 14/42] winepulse: Add audiostreamvolume +Date: Tue, 24 Jun 2014 08:48:46 +0200 +Subject: [PATCH 14/43] winepulse: Add audiostreamvolume --- Pulse allows streams to set volume, but for various reasons it's @@ -281,5 +281,5 @@ index 3ed2288..b7414c2 100644 IAudioSessionManager2 **out) { -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0008-winepulse-Add-session-support.patch b/patches/06-winepulse/0008-winepulse-Add-session-support.patch index b7d27c1e..66de882c 100644 --- a/patches/06-winepulse/0008-winepulse-Add-session-support.patch +++ b/patches/06-winepulse/0008-winepulse-Add-session-support.patch @@ -1,7 +1,7 @@ -From ca90d6371ca330a63447c4a67cda50d65d51a73b Mon Sep 17 00:00:00 2001 +From 313c40a06e4b535ea524c0393c466a52d9c1e8eb Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:54 +0100 -Subject: [PATCH 15/42] winepulse: Add session support +Date: Tue, 24 Jun 2014 08:48:46 +0200 +Subject: [PATCH 15/43] winepulse: Add session support --- Copied verbatim from winealsa @@ -932,5 +932,5 @@ index b7414c2..64ee62e 100644 + return S_OK; } -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0009-fix-fdels-trailing-whitespaces.patch b/patches/06-winepulse/0009-fix-fdels-trailing-whitespaces.patch index f7a244cc..2c5180df 100644 --- a/patches/06-winepulse/0009-fix-fdels-trailing-whitespaces.patch +++ b/patches/06-winepulse/0009-fix-fdels-trailing-whitespaces.patch @@ -1,7 +1,7 @@ -From bef79b1cc995c36d4dccc6e7a7251f2954eef89a Mon Sep 17 00:00:00 2001 +From 379ef856e7d5c5d691a8aabbb77a95dc3b0e6d9c Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:54 +0100 -Subject: [PATCH 16/42] fix fdels trailing whitespaces +Date: Tue, 24 Jun 2014 08:48:46 +0200 +Subject: [PATCH 16/43] fix fdels trailing whitespaces Happy? :P --- @@ -31,5 +31,5 @@ index 64ee62e..5a71a3d 100644 if (*pos < This->clock_lastpos) *pos = This->clock_lastpos; -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0010-winepulse-v12.patch b/patches/06-winepulse/0010-winepulse-v12.patch index 45ed136f..6712b0b3 100644 --- a/patches/06-winepulse/0010-winepulse-v12.patch +++ b/patches/06-winepulse/0010-winepulse-v12.patch @@ -1,7 +1,7 @@ -From 8a7d39774081539935d060f405fc0f4f1718cb5b Mon Sep 17 00:00:00 2001 +From 99756a89f015bdf24d42ef75b59736d2cfd930c5 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:54 +0100 -Subject: [PATCH 17/42] winepulse v12 +Date: Tue, 24 Jun 2014 08:48:46 +0200 +Subject: [PATCH 17/43] winepulse v12 Changes since v11: - Fix incorrect assertions which may fail on moving a capture device @@ -44,5 +44,5 @@ index 5a71a3d..960af3c 100644 copy = rem; if (copy > src_len) -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0011-winepulse-v15-Add-support-for-missing-formats-and-si.patch b/patches/06-winepulse/0011-winepulse-v15-Add-support-for-missing-formats-and-si.patch index b4a826f4..18dec136 100644 --- a/patches/06-winepulse/0011-winepulse-v15-Add-support-for-missing-formats-and-si.patch +++ b/patches/06-winepulse/0011-winepulse-v15-Add-support-for-missing-formats-and-si.patch @@ -1,7 +1,7 @@ -From 91657e70984483200e08c29ed9431027cf10db24 Mon Sep 17 00:00:00 2001 +From 8bdeceb10d8f3d69cc6835e53d3a3137a276d756 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:54 +0100 -Subject: [PATCH 18/42] winepulse v15: Add support for missing formats, and +Date: Tue, 24 Jun 2014 08:48:46 +0200 +Subject: [PATCH 18/43] winepulse v15: Add support for missing formats, and silence an error for missing format tags --- @@ -37,5 +37,5 @@ index 960af3c..f52f119 100644 This->ss.channels = This->map.channels; if (!pa_channel_map_valid(&This->map) || This->ss.format == PA_SAMPLE_INVALID) { -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0012-winepulse-v16-Add-official-warning-wine-doesn-t-want.patch b/patches/06-winepulse/0012-winepulse-v16-Add-official-warning-wine-doesn-t-want.patch index a4de04f0..5f077048 100644 --- a/patches/06-winepulse/0012-winepulse-v16-Add-official-warning-wine-doesn-t-want.patch +++ b/patches/06-winepulse/0012-winepulse-v16-Add-official-warning-wine-doesn-t-want.patch @@ -1,7 +1,7 @@ -From 7cdac1f6eb46245e55ed93b819c561da2380ccef Mon Sep 17 00:00:00 2001 +From a3b41022c8746ecf5036adf6c5582f8fe1f7e7b4 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:54 +0100 -Subject: [PATCH 19/42] winepulse v16: Add official warning wine doesn't want +Date: Tue, 24 Jun 2014 08:48:46 +0200 +Subject: [PATCH 19/43] winepulse v16: Add official warning wine doesn't want to support winepulse And give an alternative place to ask for support. @@ -75,5 +75,5 @@ index f52f119..76a2e0e 100644 return E_UNEXPECTED; -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0013-winepulse-v17-Fix-winmm-tests.patch b/patches/06-winepulse/0013-winepulse-v17-Fix-winmm-tests.patch index b8dab3df..1daef138 100644 --- a/patches/06-winepulse/0013-winepulse-v17-Fix-winmm-tests.patch +++ b/patches/06-winepulse/0013-winepulse-v17-Fix-winmm-tests.patch @@ -1,7 +1,7 @@ -From d8b279f724839e5fbd5443e2d2a6f3e8f7c93dac Mon Sep 17 00:00:00 2001 +From 384845108243ed6592df164f13e00dd88705b8bf Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:54 +0100 -Subject: [PATCH 20/42] winepulse v17: Fix winmm tests +Date: Tue, 24 Jun 2014 08:48:47 +0200 +Subject: [PATCH 20/43] winepulse v17: Fix winmm tests Handle dwChannelMask = SPEAKER_ALL better so WAVE_FORMAT_EXTENSIBLE tests pass too --- @@ -121,5 +121,5 @@ index 76a2e0e..6e75674 100644 if (hr == S_OK || !out) { CoTaskMemFree(closest); -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0014-winepulse-v18-Latency-and-compilation-improvements.patch b/patches/06-winepulse/0014-winepulse-v18-Latency-and-compilation-improvements.patch index d2639640..d4fd06af 100644 --- a/patches/06-winepulse/0014-winepulse-v18-Latency-and-compilation-improvements.patch +++ b/patches/06-winepulse/0014-winepulse-v18-Latency-and-compilation-improvements.patch @@ -1,7 +1,7 @@ -From 4e4971813a136b9535b912fb95995b5b13dba8bb Mon Sep 17 00:00:00 2001 +From e07df6656ffbccbf4974ca9103c5953f5ff090f3 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:54 +0100 -Subject: [PATCH 21/42] winepulse v18: Latency and compilation improvements +Date: Tue, 24 Jun 2014 08:48:47 +0200 +Subject: [PATCH 21/43] winepulse v18: Latency and compilation improvements Changes since v17: - Remove clock_pulse interpolation @@ -203,5 +203,5 @@ index 6e75674..8e76826 100644 /* Make time never go backwards */ if (*pos < This->clock_lastpos) -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0015-winepulse-API-Compatibility-with-1.5.2-onward-v2.patch b/patches/06-winepulse/0015-winepulse-API-Compatibility-with-1.5.2-onward-v2.patch index fd398da1..19438174 100644 --- a/patches/06-winepulse/0015-winepulse-API-Compatibility-with-1.5.2-onward-v2.patch +++ b/patches/06-winepulse/0015-winepulse-API-Compatibility-with-1.5.2-onward-v2.patch @@ -1,7 +1,7 @@ -From 7a2597d90627ce1bacf0e1969cc4b2eea4e1cd5d Mon Sep 17 00:00:00 2001 +From a1e43cc033dd64d05bcfc6189b332227facc24cf Mon Sep 17 00:00:00 2001 From: Juergen Tretthahn -Date: Sat, 8 Feb 2014 16:08:54 +0100 -Subject: [PATCH 22/42] winepulse: API Compatibility with 1.5.2 onward, v2 +Date: Tue, 24 Jun 2014 08:48:47 +0200 +Subject: [PATCH 22/43] winepulse: API Compatibility with 1.5.2 onward, v2 V2: Add winepulse.drv.spec to commit too V1: Original version @@ -110,5 +110,5 @@ index a089166..612bf46 100644 +@ stdcall -private GetAudioEndpoint(ptr ptr ptr) AUDDRV_GetAudioEndpoint @ stdcall -private GetAudioSessionManager(ptr ptr) AUDDRV_GetAudioSessionManager -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0016-winepulse-Fix-low-latency-support.patch b/patches/06-winepulse/0016-winepulse-Fix-low-latency-support.patch index 4e308831..df6339e6 100644 --- a/patches/06-winepulse/0016-winepulse-Fix-low-latency-support.patch +++ b/patches/06-winepulse/0016-winepulse-Fix-low-latency-support.patch @@ -1,7 +1,7 @@ -From e8533a5bf1e137ccfbe8b44e5e6a645805de8d2b Mon Sep 17 00:00:00 2001 +From cf251ef3bc965d723003723fc86a995ed0808c17 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:54 +0100 -Subject: [PATCH 23/42] winepulse: Fix low latency support +Date: Tue, 24 Jun 2014 08:48:47 +0200 +Subject: [PATCH 23/43] winepulse: Fix low latency support Some games request a 20 ms buffer and will only fill 20 ms. Since 10 ms periods are too long in this case for winepulse, @@ -54,5 +54,5 @@ index b374b53..7c07f54 100644 return S_OK; } -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0017-winepulse-drop-realtime-priority-before-thread-destr.patch b/patches/06-winepulse/0017-winepulse-drop-realtime-priority-before-thread-destr.patch index 4ecd3bf4..dd6df85e 100644 --- a/patches/06-winepulse/0017-winepulse-drop-realtime-priority-before-thread-destr.patch +++ b/patches/06-winepulse/0017-winepulse-drop-realtime-priority-before-thread-destr.patch @@ -1,7 +1,7 @@ -From 3487d764ca9c97a2f6b7898acf653a616c8c8dae Mon Sep 17 00:00:00 2001 +From 94b06acf43a3687efabf329ab32190ebc54147e5 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:55 +0100 -Subject: [PATCH 24/42] winepulse: drop realtime priority before thread +Date: Tue, 24 Jun 2014 08:48:47 +0200 +Subject: [PATCH 24/43] winepulse: drop realtime priority before thread destruction prevents having to handle a kernel RT Watchdog Timeout. @@ -23,5 +23,5 @@ index 7c07f54..ba68102 100644 pa_context_disconnect(pulse_ctx); pa_context_unref(pulse_ctx); -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0018-winepulse-remove-bogus-SetEvent-from-pulse_started_c.patch b/patches/06-winepulse/0018-winepulse-remove-bogus-SetEvent-from-pulse_started_c.patch index a268d907..af3dc405 100644 --- a/patches/06-winepulse/0018-winepulse-remove-bogus-SetEvent-from-pulse_started_c.patch +++ b/patches/06-winepulse/0018-winepulse-remove-bogus-SetEvent-from-pulse_started_c.patch @@ -1,7 +1,7 @@ -From 7806b9b3fd846e8ce55e13ac4abdfeca4b26a270 Mon Sep 17 00:00:00 2001 +From 363670394eb26ede216523dfbaca4c22032f35b8 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:55 +0100 -Subject: [PATCH 25/42] winepulse: remove bogus SetEvent from +Date: Tue, 24 Jun 2014 08:48:47 +0200 +Subject: [PATCH 25/43] winepulse: remove bogus SetEvent from pulse_started_callback --- @@ -25,5 +25,5 @@ index ba68102..68de00c 100644 static void pulse_rd_loop(ACImpl *This, size_t bytes) -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0019-winepulse-disable-the-setevent-part-of-the-latency-h.patch b/patches/06-winepulse/0019-winepulse-disable-the-setevent-part-of-the-latency-h.patch index 3747750c..6fac24ab 100644 --- a/patches/06-winepulse/0019-winepulse-disable-the-setevent-part-of-the-latency-h.patch +++ b/patches/06-winepulse/0019-winepulse-disable-the-setevent-part-of-the-latency-h.patch @@ -1,7 +1,7 @@ -From 78a28b81d51df9aebcd7b130f8535437af9df6fa Mon Sep 17 00:00:00 2001 +From 5cfd0ad9a87b738a7bce79c966b476a682892506 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:55 +0100 -Subject: [PATCH 26/42] winepulse: disable the setevent part of the latency +Date: Tue, 24 Jun 2014 08:48:47 +0200 +Subject: [PATCH 26/43] winepulse: disable the setevent part of the latency hack If you get playback glitches in skyrim or other games as a result of @@ -38,5 +38,5 @@ index 68de00c..643d55e 100644 return S_OK; } -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0020-winepulse-v20-fix-the-checks-in-IsFormatSupported.patch b/patches/06-winepulse/0020-winepulse-v20-fix-the-checks-in-IsFormatSupported.patch index e0fdc922..ec8cae19 100644 --- a/patches/06-winepulse/0020-winepulse-v20-fix-the-checks-in-IsFormatSupported.patch +++ b/patches/06-winepulse/0020-winepulse-v20-fix-the-checks-in-IsFormatSupported.patch @@ -1,7 +1,7 @@ -From 67159f14084007bfdd743b5e2194942e3fa1fe7a Mon Sep 17 00:00:00 2001 +From b5e9e9af838afe41a7e82ba8c5c1e0c4bd5bd517 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:55 +0100 -Subject: [PATCH 27/42] winepulse v20: fix the checks in IsFormatSupported +Date: Tue, 24 Jun 2014 08:48:47 +0200 +Subject: [PATCH 27/43] winepulse v20: fix the checks in IsFormatSupported Thanks to DGhost001 for reporting and isolating the issue. --- @@ -24,5 +24,5 @@ index 643d55e..86dd10a 100644 CoTaskMemFree(closest); if (out) -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0021-winepulse-fixup-IsFormatSupported-calls.patch b/patches/06-winepulse/0021-winepulse-fixup-IsFormatSupported-calls.patch index a0f33885..16e20dc2 100644 --- a/patches/06-winepulse/0021-winepulse-fixup-IsFormatSupported-calls.patch +++ b/patches/06-winepulse/0021-winepulse-fixup-IsFormatSupported-calls.patch @@ -1,7 +1,7 @@ -From d563d66ef2dda02730d8211e9334906fd9daf2e2 Mon Sep 17 00:00:00 2001 +From 2813e16dbbefcccbf4b8b29bf65c30e4d7f2605c Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:55 +0100 -Subject: [PATCH 28/42] winepulse: fixup IsFormatSupported calls +Date: Tue, 24 Jun 2014 08:48:47 +0200 +Subject: [PATCH 28/43] winepulse: fixup IsFormatSupported calls --- dlls/mmdevapi/tests/render.c | 164 +++++++++++++++++++++++++++++++++++++++ @@ -409,5 +409,5 @@ index 86dd10a..554a9fc 100644 TRACE("returning: %08x %p\n", hr, out ? *out : NULL); return hr; -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0022-winepulse-v21-return-early-if-padding-didn-t-update.patch b/patches/06-winepulse/0022-winepulse-v21-return-early-if-padding-didn-t-update.patch index eee5254d..8741f376 100644 --- a/patches/06-winepulse/0022-winepulse-v21-return-early-if-padding-didn-t-update.patch +++ b/patches/06-winepulse/0022-winepulse-v21-return-early-if-padding-didn-t-update.patch @@ -1,7 +1,7 @@ -From 50da53d33c85896f752802990aecf79fe29dc735 Mon Sep 17 00:00:00 2001 +From e95e4533229ef499e6e2ecb793e3054b8be3809a Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:55 +0100 -Subject: [PATCH 29/42] winepulse v21: return early if padding didn't update +Date: Tue, 24 Jun 2014 08:48:48 +0200 +Subject: [PATCH 29/43] winepulse v21: return early if padding didn't update --- dlls/winepulse.drv/mmdevdrv.c | 5 ++++- @@ -24,5 +24,5 @@ index 554a9fc..a4575d5 100644 This->clock_written += oldpad - This->pad; TRACE("New pad: %zu (-%zu)\n", This->pad / pa_frame_size(&This->ss), (oldpad - This->pad) / pa_frame_size(&This->ss)); -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0023-winepulse-fix-unneeded-free-in-write.patch b/patches/06-winepulse/0023-winepulse-fix-unneeded-free-in-write.patch index 04b25ab4..6b749f39 100644 --- a/patches/06-winepulse/0023-winepulse-fix-unneeded-free-in-write.patch +++ b/patches/06-winepulse/0023-winepulse-fix-unneeded-free-in-write.patch @@ -1,7 +1,7 @@ -From 5b3f36aed665d2edb524eda22908664442234184 Mon Sep 17 00:00:00 2001 +From 0a2ea36a38fccd41fa3387be71fea39462e4102c Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:55 +0100 -Subject: [PATCH 30/42] winepulse: fix unneeded free in write.. +Date: Tue, 24 Jun 2014 08:48:48 +0200 +Subject: [PATCH 30/43] winepulse: fix unneeded free in write.. --- dlls/winepulse.drv/mmdevdrv.c | 6 +++++- @@ -32,5 +32,5 @@ index a4575d5..3ca68fd 100644 This->locked_ptr = NULL; TRACE("Released %u, pad %zu\n", written_frames, This->pad / pa_frame_size(&This->ss)); -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0024-winepulse-v23-fixup-a-invalid-free-in-mmdevapi.patch b/patches/06-winepulse/0024-winepulse-v23-fixup-a-invalid-free-in-mmdevapi.patch index 776c7565..82523984 100644 --- a/patches/06-winepulse/0024-winepulse-v23-fixup-a-invalid-free-in-mmdevapi.patch +++ b/patches/06-winepulse/0024-winepulse-v23-fixup-a-invalid-free-in-mmdevapi.patch @@ -1,7 +1,7 @@ -From fa89aaea30c0956c25a01ac8ad38fa4713bf47ca Mon Sep 17 00:00:00 2001 +From 46f5df733fba376a7d6bbb3804fb25e108b760f0 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:55 +0100 -Subject: [PATCH 31/42] winepulse v23: fixup a invalid free in mmdevapi +Date: Tue, 24 Jun 2014 08:48:48 +0200 +Subject: [PATCH 31/43] winepulse v23: fixup a invalid free in mmdevapi array members of ids should be dynamically allocated, judging from valgrind output. --- @@ -47,5 +47,5 @@ index 3ca68fd..5b041a2 100644 (*keys)[0] = pulse_render_guid; else -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0025-winepulse-use-a-pi-mutex-for-serialization.patch b/patches/06-winepulse/0025-winepulse-use-a-pi-mutex-for-serialization.patch index 241a7a0c..a527f7e9 100644 --- a/patches/06-winepulse/0025-winepulse-use-a-pi-mutex-for-serialization.patch +++ b/patches/06-winepulse/0025-winepulse-use-a-pi-mutex-for-serialization.patch @@ -1,7 +1,7 @@ -From 8fd7e21cea105091d14f36511317af643cb256be Mon Sep 17 00:00:00 2001 +From 8d23cea7bd4c530d352d0358bb078e7c9eea4b43 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:56 +0100 -Subject: [PATCH 38/42] winepulse: use a pi-mutex for serialization. +Date: Tue, 24 Jun 2014 08:48:48 +0200 +Subject: [PATCH 38/43] winepulse: use a pi-mutex for serialization. The winepulse thread is realtime, to prevent blocking it indefinitely use priority inheritance. Only initialize and release are potentially @@ -63,5 +63,5 @@ index 5b041a2..a09ce7f 100644 if (pulse_thread) SetThreadPriority(pulse_thread, 0); -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0026-winepulse-add-support-for-IMarshal.patch b/patches/06-winepulse/0026-winepulse-add-support-for-IMarshal.patch index f985f667..318c4f75 100644 --- a/patches/06-winepulse/0026-winepulse-add-support-for-IMarshal.patch +++ b/patches/06-winepulse/0026-winepulse-add-support-for-IMarshal.patch @@ -1,7 +1,7 @@ -From 09d3be12108151fe6746f6f33a86b5fa2473e3dc Mon Sep 17 00:00:00 2001 +From 0db6f5427a3a74f23c8833680a53df63cb1ab339 Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst -Date: Sat, 8 Feb 2014 16:08:56 +0100 -Subject: [PATCH 39/42] winepulse: add support for IMarshal +Date: Tue, 24 Jun 2014 08:48:49 +0200 +Subject: [PATCH 39/43] winepulse: add support for IMarshal Fixes bug 32161 for winepulse. Based On Jeff Klein's patches for the other drivers. @@ -133,5 +133,5 @@ index a09ce7f..f052a08 100644 return E_NOINTERFACE; } -- -1.8.5.2 +2.0.0 diff --git a/patches/06-winepulse/0027-winepulse-handle-stream-create-failing-correctly.patch b/patches/06-winepulse/0027-winepulse-handle-stream-create-failing-correctly.patch new file mode 100644 index 00000000..8f14dd48 --- /dev/null +++ b/patches/06-winepulse/0027-winepulse-handle-stream-create-failing-correctly.patch @@ -0,0 +1,29 @@ +From 0f7b5851573569ddf40e36e48670bf9d09765920 Mon Sep 17 00:00:00 2001 +From: Mark Harmstone +Date: Tue, 24 Jun 2014 08:48:49 +0200 +Subject: [PATCH 43/43] winepulse: handle stream create failing correctly + +--- + dlls/winepulse.drv/mmdevdrv.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/dlls/winepulse.drv/mmdevdrv.c b/dlls/winepulse.drv/mmdevdrv.c +index f052a08..e755e8a 100644 +--- a/dlls/winepulse.drv/mmdevdrv.c ++++ b/dlls/winepulse.drv/mmdevdrv.c +@@ -701,6 +701,12 @@ static HRESULT pulse_stream_connect(ACImpl *This, UINT32 period_bytes) { + ret = InterlockedIncrement(&number); + sprintf(buffer, "audio stream #%i", ret); + This->stream = pa_stream_new(pulse_ctx, buffer, &This->ss, &This->map); ++ ++ if (!This->stream) { ++ WARN("pa_stream_new returned error %i\n", pa_context_errno(pulse_ctx)); ++ return AUDCLNT_E_ENDPOINT_CREATE_FAILED; ++ } ++ + pa_stream_set_state_callback(This->stream, pulse_stream_state, This); + pa_stream_set_buffer_attr_callback(This->stream, pulse_attr_update, This); + pa_stream_set_moved_callback(This->stream, pulse_attr_update, This); +-- +2.0.0 + diff --git a/patches/06-winepulse/definition b/patches/06-winepulse/definition index b3a28d16..c480677d 100644 --- a/patches/06-winepulse/definition +++ b/patches/06-winepulse/definition @@ -1,6 +1,6 @@ Author: Maarten Lankhorst -Subject: Winepulse patches extracted from https://launchpad.net/~ubuntu-wine/+archive/ppa/+files/wine1.7_1.7.19-0ubuntu2~trusty2.debian.tar.gz. -Revision: 3 +Subject: Winepulse patches extracted from https://launchpad.net/~ubuntu-wine/+archive/ubuntu/ppa/+files/wine1.7_1.7.21-0ubuntu1~ppa1.debian.tar.gz. +Revision: 4 Fixes: Support for PulseAudio backend for audio # Both patches modify configure.ac diff --git a/patches/Makefile b/patches/Makefile index e694cf0e..2ae798b5 100644 --- a/patches/Makefile +++ b/patches/Makefile @@ -140,7 +140,7 @@ abort: # | # | Included patches: # | * Winepulse patches extracted from https://launchpad.net/~ubuntu- -# | wine/+archive/ppa/+files/wine1.7_1.7.19-0ubuntu2~trusty2.debian.tar.gz. [rev 3, by Maarten Lankhorst] +# | wine/+archive/ubuntu/ppa/+files/wine1.7_1.7.21-0ubuntu1~ppa1.debian.tar.gz. [rev 4, by Maarten Lankhorst] # | # | Modified files: # | * configure, configure.ac, dlls/mmdevapi/main.c, dlls/mmdevapi/tests/render.c, dlls/winepulse.drv/Makefile.in, @@ -173,8 +173,9 @@ abort: $(PATCH) < 06-winepulse/0024-winepulse-v23-fixup-a-invalid-free-in-mmdevapi.patch $(PATCH) < 06-winepulse/0025-winepulse-use-a-pi-mutex-for-serialization.patch $(PATCH) < 06-winepulse/0026-winepulse-add-support-for-IMarshal.patch + $(PATCH) < 06-winepulse/0027-winepulse-handle-stream-create-failing-correctly.patch ( \ - echo "+ { \"06-winepulse\", \"Maarten Lankhorst\", \"Winepulse patches extracted from https://launchpad.net/~ubuntu-wine/+archive/ppa/+files/wine1.7_1.7.19-0ubuntu2~trusty2.debian.tar.gz. [rev 3]\" },"; \ + echo "+ { \"06-winepulse\", \"Maarten Lankhorst\", \"Winepulse patches extracted from https://launchpad.net/~ubuntu-wine/+archive/ubuntu/ppa/+files/wine1.7_1.7.21-0ubuntu1~ppa1.debian.tar.gz. [rev 4]\" },"; \ ) > 06-winepulse.ok # Patchset 07-GetVolumePathName