Anton Baskanov (@baskanov) commented about dlls/amstream/tests/amstream.c:
mem_allocator = NULL; hr = IMemInputPin_GetAllocator(mem_input, &mem_allocator); - todo_wine ok(hr == S_OK, "Got hr %#lx.\n", hr); - todo_wine ok (mem_allocator == ddraw_allocator, "Expected GetAllocator to return ddraw allocator.\n"); + ok(hr == S_OK, "Got hr %#lx.\n", hr); + + if (mem_allocator) + IMemAllocator_Release(mem_allocator); + + hr = IDirectDrawMediaStream_QueryInterface(ddraw_stream, &IID_IMemAllocator, (void**)&mem_allocator); + ok(hr == S_OK, "Got hr %#lx.\n", hr);
This looks wrong: you already have the queried interface in `ddraw_allocator`, and it should be equal to `mem_allocator` anyway. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/7715#note_99681