Implement `DeviceWatcher` on top of a `HDEVQUERY` object, obtained from `DevCreateObjectQuery`. All events from the query object's associated callback are directly forwarded to the `DeviceWatcher`'s corresponding event handlers.
As closing/freeing the `HDEVQUERY` is performed asynchronously, I have also added `IWeakReference` support for the device watcher.
--
v4: windows.devices.enumeration: Implement DeviceInformationStatics::DeviceWatcher using DevCreateObjectQuery.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8555
We won't be able to do it later on otherwise as get_dc_ptr will fail
with a disabled DC, and release_dce will then not clear the drawable.
This will delay the drawable release until the dce is later reused, for
instance for a different window, which may cause a complicated deadlock.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8694
On Thu Jul 31 18:58:30 2025 +0000, Tim Clem wrote:
> Ah, interesting. Thanks for looking in to that. I can't speak to any of
> that, really - I'm not very familiar with winegstreamer at all. I was
> more wondering if we needed to explicitly set `byte-stream`, and maybe
> we don't?: tclem/wine!8. Not sure if the tests cover the initial issue
> you were addressing though. And I guess if it fixates to AVC but doesn't
> have the required `codec_data` then maybe `byte-stream` is the only
> option. But like I said, that has broken h.264 on macOS.
Yeah, sorry. I took a look yesterday in the hope of finding answers, but instead came away with more questions.
But, as you probably already noticed, we do need that `stream-format=byte-stream` for `avdec_h264` to work. Otherwise we get a bunch of failed tests in `mf:transform`:
https://gitlab.winehq.org/tclem/wine/-/jobs/178373#L2122
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8532#note_111763
These do not do anything currently, since we don't support FILE_OPEN_REPARSE_POINT on the Unix side yet. However, they are correct, as demonstrated by the recently committed tests, and it seems prudent to get these out of the way for now.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8540