[PATCH v2 0/3] MR310: mf: Fix several reference leaks.
Nikolay Sivov (@nsivov)
wine at gitlab.winehq.org
Mon Jun 27 05:47:01 CDT 2022
On Mon Jun 27 07:57:50 2022 +0000, RÃ©mi Bernon wrote:
> I think the test failure may come from a missing the
> `video_renderer_release_presenter_services` call, though I haven't
> really investigated that aspect of the problem. If it's the case,
> perhaps it should be added to `video_renderer_initialize` too.
> The issue with the testbot and 32bit apps is that the way `Initialize`
> is currently written it create a second video renderer before releasing
> the previously created one. This requires another d3d device
> initialization, which often fails from address space exhaustion, so
> releasing the previous renderer first was resolving the issue (and the
> reference leak also probably made it worse).
Ok, that's probably fine then. This release should happen only in "!`EVR_SHUT_DOWN`" branch, it's fine to move releasing part of `video_renderer_initialize` right there, because it's not going to be used outside of `Initialize()`. Having another helper _uninitialize() is also an option to keep method body easier to read. Note that with current patch you have returns while holding a lock.
More information about the wine-devel