Module: wine
Branch: master
Commit: e8943a64635a330ad23a3ce4957e7c6dcee8e6df
URL: https://gitlab.winehq.org/wine/wine/-/commit/e8943a64635a330ad23a3ce4957e7c…
Author: Yuxuan Shui <yshui(a)codeweavers.com>
Date: Tue Oct 17 20:40:44 2023 +0100
mfmediaengine: Don't send event notify when engine is shutdown.
I've also tried saving a cancel cookie from `BeginCreateObject*` and using it to cancel the
operation in engine shutdown. However there are 2 problems:
1. Callback might still get called after `CancelObjectCreation`. Microsoft's
[own documentation](https://learn.microsoft.com/en-us/windows/win32/api/mfidl/nf…
says as much:
> Because these methods are asynchronous, however, they might be completed before the
> operation can be canceled. Therefore, your callback might still be invoked after you
> call this method.
2. Our implementations of `BeginCreateObject*` are not cancellable. They call either
`MFPutWorkItem` or `IMFByteStream_BeginRead`, neight of which provides cancellation.
(and our `CancelObjectCreation` doesn't actually work. AsyncResult objects aren't added to
`handler->results` list until they are completed, which means any attempts to cancel an
yet-to-be-completed object creation will always fail with `MF_E_UNEXPECTED`)
---
dlls/mfmediaengine/main.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/dlls/mfmediaengine/main.c b/dlls/mfmediaengine/main.c
index 0d553a40a7e..d8694cf6011 100644
--- a/dlls/mfmediaengine/main.c
+++ b/dlls/mfmediaengine/main.c
@@ -1356,6 +1356,12 @@ static HRESULT WINAPI media_engine_load_handler_Invoke(IMFAsyncCallback *iface,
EnterCriticalSection(&engine->cs);
+ if (engine->flags & FLAGS_ENGINE_SHUT_DOWN)
+ {
+ LeaveCriticalSection(&engine->cs);
+ return S_OK;
+ }
+
engine->network_state = MF_MEDIA_ENGINE_NETWORK_LOADING;
IMFMediaEngineNotify_EventNotify(engine->callback, MF_MEDIA_ENGINE_EVENT_LOADSTART, 0, 0);
Module: wine
Branch: master
Commit: d9ad68a1ef1bb9288f5f39199a6042f013e6b464
URL: https://gitlab.winehq.org/wine/wine/-/commit/d9ad68a1ef1bb9288f5f39199a6042…
Author: Rémi Bernon <rbernon(a)codeweavers.com>
Date: Thu Oct 26 00:19:53 2023 +0200
gitlab: Run tests with LP_NUM_THREADS=4 env var.
This forces mesa LLVMPIPE driver to use a fixed number of threads, and
greatly reduces its memory usage from the $(nproc) default. On Gitlab
this is 32 threads, which often exhaust VM space in 32bit tests.
---
tools/gitlab/test.yml | 1 +
1 file changed, 1 insertion(+)
diff --git a/tools/gitlab/test.yml b/tools/gitlab/test.yml
index aaae5671843..4e0b6d75983 100644
--- a/tools/gitlab/test.yml
+++ b/tools/gitlab/test.yml
@@ -21,6 +21,7 @@
- export PATH=$BASEDIR/usr/local/bin:$PATH
- export DISPLAY=:0
- export LC_ALL=C.UTF-8
+ - export LP_NUM_THREADS=4
- export WINEDEBUG=err-all,fixme-all
- |
cat >$HOME/xorg.conf << EOF