Commit 1 prevents the media session from starting execution of an asynchronous operation while another asynchronous operation is still running. Without this, it was possible for invalid state transitions to happen, which could leave the session in an intermediary state (not stopped, started, paused, closed or shut down) indefinitely.
Commits 2, 3 and 4 are some more fixes around pausing and unpausing in mfplat.
--
v2: mf/session: Fix pausing a media session when the media source sends buffering events.
winegstreamer: Also flush token queue on seek.
mf/sar: Allow starting audio renderer again after pausing it.
mf/session: Prevent media session from running commands concurrently.
mf: Fix media session staying in RESTARTING_SOURCES state after failing to start/seek a media source.
https://gitlab.winehq.org/wine/wine/-/merge_requests/6255
[Documentation for EnumSystemLocalesA/W](https://learn.microsoft.com/en-us/windows/win32/api/w… says "If [`LCID_ALTERNATE_SORTS`] is used with either `LCID_INSTALLED` or `LCID_SUPPORTED`, the installed or supported locales are retrieved, **as well as** the alternate sort locale identifiers." (emphasis mine).
Until now, Wine *only* returned alternate sorts in this case, which apparently breaks some versions of NexusDB.
This MR fixes the issue and adds some basic tests to ensure the issue isn't accidentally re-introduced at a later time.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6455
On Fri Sep 6 20:47:12 2024 +0000, Martin Storsjö wrote:
> FYI, this isn't universally the case - Linux trapping and emulating them
> hasn't been around since forever.
> Linux v4.11 added `HWCAP_CPUID`, and if this hwcap is enabled, the
> trapping is supported. (I'm not sure if there are kernels past 4.11 that
> don't have it set, though.) I do run wine on arm64 on a couple of old
> devboards that run Linux 4.4 kernels - although I haven't updated my
> version of Wine on them for quite a while...
> Anyway, ideally, we'd check `getauxval(AT_HWCAP) & HWCAP_CPUID` before
> going ahead and trying to read these registers - even if few users today
> really run older kernels.
Ah yep, realised this earlier but forgot to address, will Mr a fix
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/6225#note_81553