Rebase against 04a9c9eba77f56d61d615f1147590c67b466bdf8.

This commit is contained in:
Alistair Leslie-Hughes 2021-01-20 10:56:34 +11:00
parent caa2471e20
commit 6364ada0ad
6 changed files with 33 additions and 99 deletions

View File

@ -1,28 +0,0 @@
From dc2ee56fbd2ed96f69ab5ccad4ff7666165760d4 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Wed, 9 Dec 2020 11:46:58 -0500
Subject: [PATCH] winegstreamer: Correct mistaken enum value in ProcessMessage.
This is the message session relies on succeeding.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
---
dlls/winegstreamer/audioconvert.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/winegstreamer/audioconvert.c b/dlls/winegstreamer/audioconvert.c
index c5762bfdc60..82467b2f4e2 100644
--- a/dlls/winegstreamer/audioconvert.c
+++ b/dlls/winegstreamer/audioconvert.c
@@ -517,7 +517,7 @@ static HRESULT WINAPI audio_converter_ProcessMessage(IMFTransform *iface, MFT_ME
switch(message)
{
- case MFT_MESSAGE_NOTIFY_START_OF_STREAM:
+ case MFT_MESSAGE_NOTIFY_BEGIN_STREAMING:
return S_OK;
default:
FIXME("Unhandled message type %x.\n", message);
--
2.29.2

View File

@ -1,4 +1,4 @@
From 0c493f7590ba2d7b90cf44c389378aacae8f6fe0 Mon Sep 17 00:00:00 2001
From d61ea314bb5d72df0f9f855843fd13b696c364a8 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Wed, 18 Nov 2020 14:31:00 -0600
Subject: [PATCH] winegstreamer: Implement ::Process(Input/Output) for audio
@ -6,13 +6,13 @@ Subject: [PATCH] winegstreamer: Implement ::Process(Input/Output) for audio
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
---
dlls/winegstreamer/audioconvert.c | 175 +++++++++++++++++++++++++++++-
dlls/winegstreamer/audioconvert.c | 163 +++++++++++++++++++++++++++++-
dlls/winegstreamer/gst_private.h | 1 +
dlls/winegstreamer/mfplat.c | 69 ++++++++++++
3 files changed, 239 insertions(+), 6 deletions(-)
dlls/winegstreamer/mfplat.c | 69 +++++++++++++
3 files changed, 229 insertions(+), 4 deletions(-)
diff --git a/dlls/winegstreamer/audioconvert.c b/dlls/winegstreamer/audioconvert.c
index 7fb0dee99f6..631c57d6d55 100644
index 85f44dd8856..7baee9c643d 100644
--- a/dlls/winegstreamer/audioconvert.c
+++ b/dlls/winegstreamer/audioconvert.c
@@ -40,6 +40,8 @@ struct audio_converter
@ -32,35 +32,15 @@ index 7fb0dee99f6..631c57d6d55 100644
heap_free(transform);
}
@@ -311,7 +314,8 @@ static HRESULT WINAPI audio_converter_SetInputType(IMFTransform *iface, DWORD id
if (!(input_caps = caps_from_mf_media_type(type)))
return MF_E_INVALIDTYPE;
- gst_caps_unref(input_caps);
+ if (flags & MFT_SET_TYPE_TEST_ONLY)
+ gst_caps_unref(input_caps);
}
if (flags & MFT_SET_TYPE_TEST_ONLY)
@@ -320,6 +324,7 @@ static HRESULT WINAPI audio_converter_SetInputType(IMFTransform *iface, DWORD id
@@ -334,6 +337,7 @@ static HRESULT WINAPI audio_converter_SetInputType(IMFTransform *iface, DWORD id
EnterCriticalSection(&converter->cs);
hr = S_OK;
+ gst_element_set_state(converter->container, GST_STATE_READY);
if (type)
{
@@ -329,6 +334,9 @@ static HRESULT WINAPI audio_converter_SetInputType(IMFTransform *iface, DWORD id
if (SUCCEEDED(hr))
hr = IMFMediaType_CopyAllItems(type, (IMFAttributes *) converter->input_type);
+ g_object_set(converter->appsrc, "caps", input_caps, NULL);
+ gst_caps_unref(input_caps);
+
if (FAILED(hr))
{
IMFMediaType_Release(converter->input_type);
@@ -341,6 +349,9 @@ static HRESULT WINAPI audio_converter_SetInputType(IMFTransform *iface, DWORD id
if (!converter->input_type)
hr = MFCreateMediaType(&converter->input_type);
@@ -347,6 +351,9 @@ static HRESULT WINAPI audio_converter_SetInputType(IMFTransform *iface, DWORD id
converter->input_type = NULL;
}
@ -70,35 +50,15 @@ index 7fb0dee99f6..631c57d6d55 100644
LeaveCriticalSection(&converter->cs);
return hr;
@@ -386,7 +397,8 @@ static HRESULT WINAPI audio_converter_SetOutputType(IMFTransform *iface, DWORD i
if (!(output_caps = caps_from_mf_media_type(type)))
return MF_E_INVALIDTYPE;
- gst_caps_unref(output_caps);
+ if (flags & MFT_SET_TYPE_TEST_ONLY)
+ gst_caps_unref(output_caps);
}
if (flags & MFT_SET_TYPE_TEST_ONLY)
@@ -395,6 +407,7 @@ static HRESULT WINAPI audio_converter_SetOutputType(IMFTransform *iface, DWORD i
@@ -414,6 +421,7 @@ static HRESULT WINAPI audio_converter_SetOutputType(IMFTransform *iface, DWORD i
EnterCriticalSection(&converter->cs);
hr = S_OK;
+ gst_element_set_state(converter->container, GST_STATE_READY);
if (type)
{
@@ -404,6 +417,9 @@ static HRESULT WINAPI audio_converter_SetOutputType(IMFTransform *iface, DWORD i
if (SUCCEEDED(hr))
hr = IMFMediaType_CopyAllItems(type, (IMFAttributes *) converter->output_type);
+ g_object_set(converter->appsink, "caps", output_caps, NULL);
+ gst_caps_unref(output_caps);
+
if (FAILED(hr))
{
IMFMediaType_Release(converter->output_type);
@@ -416,6 +432,9 @@ static HRESULT WINAPI audio_converter_SetOutputType(IMFTransform *iface, DWORD i
if (!converter->output_type)
hr = MFCreateMediaType(&converter->output_type);
@@ -427,6 +435,9 @@ static HRESULT WINAPI audio_converter_SetOutputType(IMFTransform *iface, DWORD i
converter->output_type = NULL;
}
@ -108,7 +68,7 @@ index 7fb0dee99f6..631c57d6d55 100644
LeaveCriticalSection(&converter->cs);
return hr;
@@ -479,17 +498,102 @@ static HRESULT WINAPI audio_converter_ProcessMessage(IMFTransform *iface, MFT_ME
@@ -538,17 +549,102 @@ static HRESULT WINAPI audio_converter_ProcessMessage(IMFTransform *iface, MFT_ME
static HRESULT WINAPI audio_converter_ProcessInput(IMFTransform *iface, DWORD id, IMFSample *sample, DWORD flags)
{
@ -215,7 +175,7 @@ index 7fb0dee99f6..631c57d6d55 100644
}
static const IMFTransformVtbl audio_converter_vtbl =
@@ -537,6 +641,65 @@ HRESULT audio_converter_create(REFIID riid, void **ret)
@@ -596,6 +692,65 @@ HRESULT audio_converter_create(REFIID riid, void **ret)
InitializeCriticalSection(&object->cs);
object->cs.DebugInfo->Spare[0] = (DWORD_PTR)(__FILE__ ": audio_converter_lock");
@ -282,7 +242,7 @@ index 7fb0dee99f6..631c57d6d55 100644
return S_OK;
}
diff --git a/dlls/winegstreamer/gst_private.h b/dlls/winegstreamer/gst_private.h
index 9518f721504..14b6a011ac2 100644
index e591a95f3ca..c188754fa45 100644
--- a/dlls/winegstreamer/gst_private.h
+++ b/dlls/winegstreamer/gst_private.h
@@ -82,6 +82,7 @@ HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj) DECLSPEC_HI

View File

@ -1,4 +1,4 @@
From c17380797162d65051f0922c673c327506799bb7 Mon Sep 17 00:00:00 2001
From 8be256f9b12b42f5a5fef0b82d34aaacfa7c6115 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Thu, 9 Jan 2020 13:44:01 -0600
Subject: [PATCH] ntdll/tests: Move some tests to a new sync.c file.
@ -24,7 +24,7 @@ index ed15c51339f..9a99c01bd7c 100644
time.c \
virtual.c
diff --git a/dlls/ntdll/tests/om.c b/dlls/ntdll/tests/om.c
index f78f42e0a88..f366a661a16 100644
index 120b093fa56..f366a661a16 100644
--- a/dlls/ntdll/tests/om.c
+++ b/dlls/ntdll/tests/om.c
@@ -28,10 +28,6 @@
@ -413,13 +413,13 @@ index f78f42e0a88..f366a661a16 100644
-
- prev = 0xdeadbeef;
- status = pNtReleaseMutant(mutant, &prev);
- ok( status == STATUS_SUCCESS, "NtQueryRelease failed %08x\n", status );
- ok( prev == -1, "NtQueryRelease failed, expected -1, got %d\n", prev );
- ok( status == STATUS_SUCCESS, "NtReleaseMutant failed %08x\n", status );
- ok( prev == -1, "NtReleaseMutant failed, expected -1, got %d\n", prev );
-
- prev = 0xdeadbeef;
- status = pNtReleaseMutant(mutant, &prev);
- ok( status == STATUS_SUCCESS, "NtQueryRelease failed %08x\n", status );
- ok( prev == 0, "NtQueryRelease failed, expected 0, got %d\n", prev );
- ok( status == STATUS_SUCCESS, "NtReleaseMutant failed %08x\n", status );
- ok( prev == 0, "NtReleaseMutant failed, expected 0, got %d\n", prev );
-
- memset(&info, 0xcc, sizeof(info));
- status = pNtQueryMutant(mutant, MutantBasicInformation, &info, sizeof(info), NULL);

View File

@ -1,4 +1,4 @@
From 978c8cad7a5f44402fc2daba9bccc32fa9ea64d4 Mon Sep 17 00:00:00 2001
From b29db29cb8eb0fa8ba0153438c777417f2b41387 Mon Sep 17 00:00:00 2001
From: Zebediah Figura <z.figura12@gmail.com>
Date: Sun, 22 Nov 2020 20:51:10 -0600
Subject: [PATCH] ntdll: Reimplement SRW locks on top of Win32 futexes.
@ -798,10 +798,10 @@ index 0262e50d980..968d636f86e 100644
static FORCEINLINE HANDLE WINAPI GetCurrentProcess(void)
diff --git a/include/winnt.h b/include/winnt.h
index 200f67080a8..05093d525f1 100644
index ff1a6f4e90e..38f4f3e01a5 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -6907,20 +6907,29 @@ static inline BOOLEAN BitScanReverse(DWORD *index, DWORD mask)
@@ -6910,7 +6910,9 @@ static inline BOOLEAN BitScanReverse(DWORD *index, DWORD mask)
#pragma intrinsic(_InterlockedExchange)
#pragma intrinsic(_InterlockedExchangeAdd)
#pragma intrinsic(_InterlockedIncrement)
@ -811,6 +811,9 @@ index 200f67080a8..05093d525f1 100644
long _InterlockedCompareExchange(long volatile*,long,long);
long long _InterlockedCompareExchange64(long long volatile*,long long,long long);
@@ -6918,15 +6920,22 @@ long long _InterlockedCompareExchange64(long long volatile*,long long,long long)
unsigned char _InterlockedCompareExchange128(volatile __int64 *, __int64, __int64, __int64 *);
#endif
long _InterlockedDecrement(long volatile*);
+short _InterlockedDecrement16(short volatile*);
long _InterlockedExchange(long volatile*,long);
@ -831,7 +834,7 @@ index 200f67080a8..05093d525f1 100644
static FORCEINLINE LONGLONG WINAPI InterlockedCompareExchange64( LONGLONG volatile *dest, LONGLONG xchg, LONGLONG compare )
{
return _InterlockedCompareExchange64( (long long volatile *)dest, compare, xchg );
@@ -6946,6 +6955,11 @@ static FORCEINLINE LONG WINAPI InterlockedDecrement( LONG volatile *dest )
@@ -6959,6 +6968,11 @@ static FORCEINLINE LONG WINAPI InterlockedDecrement( LONG volatile *dest )
return _InterlockedDecrement( (long volatile *)dest );
}
@ -843,7 +846,7 @@ index 200f67080a8..05093d525f1 100644
#ifndef __i386__
#pragma intrinsic(_InterlockedCompareExchangePointer)
@@ -7010,11 +7024,21 @@ static FORCEINLINE LONG WINAPI InterlockedIncrement( LONG volatile *dest )
@@ -7040,11 +7054,21 @@ static FORCEINLINE LONG WINAPI InterlockedIncrement( LONG volatile *dest )
return __sync_add_and_fetch( dest, 1 );
}

View File

@ -51,7 +51,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "88220e0ee41640940e7686fe0cab7f1e0bfb42f1"
echo "04a9c9eba77f56d61d615f1147590c67b466bdf8"
}
# Show version information
@ -2915,7 +2915,6 @@ fi
# | tools/makedep.c
# |
if test "$enable_mfplat_streaming_support" -eq 1; then
patch_apply mfplat-streaming-support/0001-winegstreamer-Correct-mistaken-enum-value-in-Process.patch
patch_apply mfplat-streaming-support/0003-winegstreamer-Implement-Process-Input-Output-for-aud.patch
patch_apply mfplat-streaming-support/0004-winegstreamer-Implement-Get-Input-Output-StreamInfo-.patch
patch_apply mfplat-streaming-support/0005-winegstreamer-Implement-Get-Attributes-functions-for.patch
@ -3296,7 +3295,7 @@ fi
# | * dlls/ntdll/Makefile.in, dlls/ntdll/critsection.c, dlls/ntdll/ntdll.spec, dlls/ntdll/ntdll_misc.h, dlls/ntdll/sync.c,
# | dlls/ntdll/tests/Makefile.in, dlls/ntdll/tests/om.c, dlls/ntdll/tests/sync.c, dlls/ntdll/thread.c,
# | dlls/ntdll/unix/loader.c, dlls/ntdll/unix/sync.c, dlls/ntdll/unix/thread.c, dlls/ntdll/unix/unix_private.h,
# | dlls/ntdll/unix/virtual.c, dlls/ntdll/unixlib.h, include/winbase.h, include/winternl.h
# | dlls/ntdll/unix/virtual.c, dlls/ntdll/unixlib.h, include/winbase.h, include/winnt.h, include/winternl.h
# |
if test "$enable_ntdll_NtAlertThreadByThreadId" -eq 1; then
patch_apply ntdll-NtAlertThreadByThreadId/0001-ntdll-tests-Move-some-tests-to-a-new-sync.c-file.patch

View File

@ -1 +1 @@
88220e0ee41640940e7686fe0cab7f1e0bfb42f1
04a9c9eba77f56d61d615f1147590c67b466bdf8