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.