In preparation for nulldrv display modes support.
--
v5: win32u: Move display placement logic out of graphics drivers.
win32u: Move full display mode lookup out of graphics drivers.
win32u: Use current mode position if desired mode doesn't specify it.
win32u: Always copy devmode in validate_display_settings.
win32u: Read registry or current mode when validation needs it.
https://gitlab.winehq.org/wine/wine/-/merge_requests/576
This is a new try of mciqtz32's video window patch.
Comparing to the previous !370, I added a lot of tests regarding the video window behavior.
Some portion of the previous patch are dropped to avoid complexity, I'll add that part later.
--
v4: mciqtz32: Show the default video window when switching from another one.
mciqtz32: Hide the default video window when switching to another one.
mciqtz32: Reset the video size when changing video destination.
mciqtz32: Fix MCI_DGV_WHERE_WINDOW behavior.
mciqtz32: Correct video window behavior by creating default window.
winmm/tests: Add tests for destination of video window.
winmm/tests: Add tests for dimensions of video window.
winmm/tests: Add tests for window style of video window.
mciqtz32: Don't hide video window when stopping.
winmm/tests: Add tests for visibility of video window.
https://gitlab.winehq.org/wine/wine/-/merge_requests/557
Patch 1.
The tests on Windows show that when the timer callback is queued behind the clock time it is queued and executed quite soon with 0-15ms delay which corresponds to default timer granularity. The timeout tolerance in the test is quite bigger to avoid a flaky test. Wine currently may execute the callback right away or delay it indefinitely depending on the time difference and current system time.
Patch 2.
It turns out when the session is paused and then restarted and all the samples were delivered to sample grabber before restart, nothing is going to request the samples again when the session is restarted. I am attaching a test in a patch which hopefully confirms how that should work. I am not including that in the patches as the test involves delays (to make sure all the async events settle at certain points) and inherently flaky. Also, _
IMFStreamSink_GetEvent(stream, ...) in the test crashes on Win7 for some unknown reason.
[0001-mf-tests-Add-test-for-pausing-and-restarting-sample-.patch](/uploads/58c1738d48b3392e7ec430a0757210d0/0001-mf-tests-Add-test-for-pausing-and-restarting-sample-.patch)
--
v2: mf/samplegrabber: Request a sample when going from paused to running state.
mf: Handle timer time behind clock time in present_clock_schedule_timer().
https://gitlab.winehq.org/wine/wine/-/merge_requests/574