Starting with late Windows 10 version, in ucrtbase, stderr is now unbuffered
whatever the type of the underlying fd (previously, native only set it to
unbuffered when attached to character fd (console, NUL...)).
This serie adds also tests for msvcrt & ucrtbase to show the discrepancies.
Note: ucrtbase's tests also include a reversed engineered structure layout
for FILE.
_get_stream_buffer_pointers already gives base, ptr and cnt, and toying with
setvbuf gave easily the rest of the fields.
Didn't spend time in guessing the flags meaning: which look different
from msvcrt's.
Related to https://bugs.winehq.org/show_bug.cgi?id=56459
@piotr: I can share the details (the access to the test result in the bug
report is limited).
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5462
When using a video sample allocator, the session will allocate samples from it, then try to get some output from a transform, and if there's no output to be pulled, release the sample immediately. This will trigger the sample allocator notify callback, which will then trigger another try at pulling samples, ending up in a callback loop that can starve other working threads.
Another option here would be to keep the last returned status, and only re-try to pull samples from the allocator notify callback if we previously failed to process output because of a failed allocation.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5296
This fixes a latency issue with audio, particular when played with 4k
video.
With a single queue, only one sample request can be processed at a
time. So, for example, if a video sample takes 40ms to be delivered,
then all pending audio samples will be delayed 40ms. This can lead to
the audio PTS lagging the presentation clock and being dropped.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/5439
The BURIKO visual novel engine (as seen in, for example, https://store.steampowered.com/app/1200720/MakingLovers/) demands that the upstream filter tries to connect with a MPEG format type.
Then it memorizes the resolution, rejects the connection, and expects upstream to try RGB32 or RGB24 instead.
It also passes an empty string as filename, and demands this exact error code.
I have no idea why.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=56491
--
v4: quartz: Fix memory leak on failure path.
quartz/tests: Test the new error codes.
quartz: Fix error code on empty filename.
quartz/tests: Test the new compressed output support.
quartz: Permit compressed output from CLSID_decodebin_parser.
https://gitlab.winehq.org/wine/wine/-/merge_requests/5419