Signed-off-by: Zebediah Figura z.figura12@gmail.com --- dlls/strmbase/pin.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/dlls/strmbase/pin.c b/dlls/strmbase/pin.c index f08c6d0186..e5017c2ff9 100644 --- a/dlls/strmbase/pin.c +++ b/dlls/strmbase/pin.c @@ -594,6 +594,13 @@ static HRESULT WINAPI source_Disconnect(IPin *iface) IMemInputPin_Release(This->pMemInputPin); This->pMemInputPin = NULL; } + + if (This->pAllocator) + { + IMemAllocator_Release(This->pAllocator); + This->pAllocator = NULL; + } + if (This->pin.peer) { IPin_Release(This->pin.peer); @@ -930,6 +937,12 @@ static HRESULT WINAPI sink_Disconnect(IPin *iface) if (pin->pFuncsTable->sink_disconnect) pin->pFuncsTable->sink_disconnect(pin);
+ if (pin->pAllocator) + { + IMemAllocator_Release(pin->pAllocator); + pin->pAllocator = NULL; + } + IPin_Release(pin->pin.peer); pin->pin.peer = NULL; FreeMediaType(&pin->pin.mt);
Zebediah Figura z.figura12@gmail.com writes:
Signed-off-by: Zebediah Figura z.figura12@gmail.com
dlls/strmbase/pin.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
This is causing test failures:
../../../tools/runtest -q -P wine -T ../../.. -M quartz.dll -p quartz_test.exe vmr9 && touch vmr9.ok vmr9.c:3075: Test failed: Test 1: Got hr 0x8004020a. vmr9.c:3075: Test failed: Test 2: Got hr 0x8004020a. vmr9.c:3075: Test failed: Test 3: Got hr 0x8004020a. vmr9.c:3075: Test failed: Test 4: Got hr 0x8004020a. vmr9.c:3075: Test failed: Test 5: Got hr 0x8004020a. vmr9.c:3075: Test failed: Test 6: Got hr 0x8004020a. vmr9.c:3075: Test failed: Test 7: Got hr 0x8004020a. vmr9.c:3068: Tests skipped: Format 20 (0x14), flags 0x4 are not supported, hr 0xdeadbeef. vmr9.c:3075: Test failed: Test 9: Got hr 0x8004020a. vmr9.c:3075: Test failed: Test 10: Got hr 0x8004020a. vmr9.c:3075: Test failed: Test 11: Got hr 0x8004020a. vmr9.c:3075: Test failed: Test 12: Got hr 0x8004020a. vmr9.c:3075: Test failed: Test 13: Got hr 0x8004020a. vmr9.c:3075: Test failed: Test 14: Got hr 0x8004020a. make: *** [Makefile:814: vmr9.ok] Error 13