This merge request restores `DIPROP_AUTOCENTER` support to the SDL and udev input backends. It also
* adds an `Autocenter` registry app key that lets the default `DIPROP_AUTOCENTER` setting to be set on a per device and per application and device level,
* logs a warning on acquisition when `DIPROP_AUTOCENTER` hasn't been checked or set that that is the case and the default can be changed via the 'Autocenter' app key if required.
Together these two should provide a robust solution for the issues some where having with autocenter being incorrectly on for some programs and devices.
--
v3: dinput: Autocenter detect joystick by DIDEVICE_TYPE instead of name
https://gitlab.winehq.org/wine/wine/-/merge_requests/8744
This merge request restores `DIPROP_AUTOCENTER` support to the SDL and udev input backends. It also
* adds an `Autocenter` registry app key that lets the default `DIPROP_AUTOCENTER` setting to be set on a per device and per application and device level,
* logs a warning on acquisition when `DIPROP_AUTOCENTER` hasn't been checked or set that that is the case and the default can be changed via the 'Autocenter' app key if required.
Together these two should provide a robust solution for the issues some where having with autocenter being incorrectly on for some programs and devices.
--
v2: dinput: Autocenter on default unless device name contains joystick
https://gitlab.winehq.org/wine/wine/-/merge_requests/8744
h264parse currently has a bug where it will send an avc caps without
codec_data when it has received an SPS but not PPS.
This bug currently causes avdec_h264 to fail when a drain request
is made during caps neg.
As a workaround, a capsfilter was added to force a stream-format of
byte-stream for all h.264 decoders. However, this introduced a new
issue with the vtdec element, as it only supports the avc stream-format.
Therefore, this patch looks to address both problems by only introducing
the capsfilter when the avdec_h264 element is used.
It also removes the stream-format and alignment requirements from
the parsed caps, applying them only to the capsfilter.
--
v4: winegstreamer: Only add the capsfilter for avdec_h264.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8719
avdec_h264 will fail when combined with h264parse and a drain request
is made during caps neg.
To fix this, a capsfilter was added to force a stream-format of
byte-stream for all h.264 decoders. However, this introduced a new
issue with the vtdec element, as it only supports the avc stream-format.
Therefore, this patch looks to address both problems by only introducing
the capsfilter when the avdec_h264 element is used.
It also removes the stream-format and alignment requirements from
the parsed caps, applying them only to the capsfilter.
--
v3: winegstreamer: Only add the capsfilter for avdec_h264.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8719
The following sequence can occur:
sink_EndOfStream,
lock stream_cs,
renderer sink_eos,
strmbase_passthrough_eos,
IMediaSeeking_GetStopPosition,
MediaSeekingPassThru_GetStopPosition,
get_connected,
IPin_ConnectedTo,
lock filter_cs
And at the same time:
filter_Stop,
lock filter_cs,
dmo_wrapper_cleanup_stream,
lock stream_cs
Resulting in deadlock. This can occur in Space Engineers.
dmo_wrapper_cleanup_stream() locks stream_cs to access `pin.peer` and `pin.pAllocator`, which are normally protected by filter_cs, but this lock was added to fix a test failure, so I don't know if there's an alternative.
I'm concerned about the possible performance impact of removing stream_cs though.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8712
This is a prereq for cross-process suspend on WOW64 - the thread created for that needs to run even when the whole process is suspended by e.g. the debugger.
Will be follow-up changes for THREAD_CREATE_FLAGS_SKIP_THREAD_ATTACH and THREAD_CREATE_FLAGS_SKIP_LOADER_INIT to support creating a native thread for that.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8751
avdec_h264 will fail when combined with h264parse and a drain request
is made during caps neg.
To fix this, a capsfilter was added to force a stream-format of
byte-stream for all h.264 decoders. However, this introduced a new
issue with the vtdec element, as it only supports the avc stream-format.
Therefore, this patch looks to address both problems by only introducing
the capsfilter when the avdec_h264 element is used.
It also removes the stream-format and alignment requirements from
the parsed caps, applying them only to the capsfilter.
--
v2: winegstreamer: Only add the capsfilter for avdec_h264.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8719