Nikolay Sivov (@nsivov) commented about dlls/evr/sample.c:
> }
>
> IMFSample_Release(sample);
> -
> - if (allocator->callback)
> - IMFVideoSampleAllocatorNotify_NotifyRelease(allocator->callback);
> + callback = allocator->callback;
>
> LeaveCriticalSection(&allocator->cs);
>
> + if (callback)
> + IMFVideoSampleAllocatorNotify_NotifyRelease(allocator->callback);
> +
> return S_OK;
This is public API, and NotifyRelease() is blocking on Windows. What I suggested was to create some customized version of this, just for internal use. For example conditionally, or with a different Invoke() method implementation, whatever looks better.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3319#note_41781
Nikolay Sivov (@nsivov) commented about dlls/evr/presenter.c:
> WARN("Failed to get a backbuffer, hr %#lx.\n", hr);
> }
>
> - EnterCriticalSection(&presenter->cs);
> + EnterCriticalSection(&presenter->thread.queue.cs);
> if (presenter->thread.queue.last_presented)
> IMFSample_Release(presenter->thread.queue.last_presented);
> presenter->thread.queue.last_presented = sample;
> IMFSample_AddRef(presenter->thread.queue.last_presented);
> - LeaveCriticalSection(&presenter->cs);
> + LeaveCriticalSection(&presenter->thread.queue.cs);
Let's add a local variable for a queue pointer to make this more readable.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3319#note_41780
Needed by Underworld Island (Steam ID: 2150830) to skip videos properly.
--
v2: mfmediaengine: Implement media_engine_GetSeekable().
mfmediaengine/tests: Test IMFMediaEngine::GetSeekable().
mfmediaengine/tests: Fix a test failure in test_GetDuration().
https://gitlab.winehq.org/wine/wine/-/merge_requests/3536
I tried build a real Windows application (mimikatz) and had troubles with some wine headers incompatibility. The patch set improves headers to allow build the foreign application with Wine.
--
v5: include: Add standalone LSA_OBJECT_ATTRIBUTES prototype if ntdef.h is not included.
include: Add initial activeds.h.
include: Add missed PCWCHAR to winnt.h.
include: Include ncrypt.h in wincrypt.h.
include: Add specstrings_strict.h with some defines.
include: Use compatible file guard name (_NTSECAPI_, _NTSECPKG_).
include: Add some missed defines.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3506
On Wed Aug 9 04:43:08 2023 +0000, Mohamad Al-Jaf wrote:
> I thought I did add `WindowsDeleteString`. I wasn't sure if adding
> `WindowsDuplicateString` to `device_statics2_CreateWatcher` should be in
> the same commit or not. I added it in a new commit.
> Thanks for the review.
If you want to put it in a separate commit, it should probably come first, with the field addition and the `WindowsDeleteString` call. Otherwise when `device_statics2_CreateWatcher` was used, `Release` will call `WindowsDeleteString` on destruction with an invalid filter (though perhaps zero-initialized HSTRING is valid, but imho it'd be better that way).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3519#note_41752
There is a working in progress winegstreamer muxer backend: !3303
This patch set is the windows api side(frontend) of the muxer stuff.
It will make the patch set too large to submit the backend and frontend together, so I decide to submit the frontend first.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3528