From 88357e92f12f34fb40819b2c6319e2679175cc83 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Wed, 26 Feb 2020 00:19:22 -0600 Subject: [PATCH] mp3dmod: Release a held buffer on destruction. Signed-off-by: Zebediah Figura Signed-off-by: Alexandre Julliard --- dlls/mp3dmod/mp3dmod.c | 2 ++ dlls/mp3dmod/tests/mp3dmod.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/dlls/mp3dmod/mp3dmod.c b/dlls/mp3dmod/mp3dmod.c index 592ee5482a1..65b48de7114 100644 --- a/dlls/mp3dmod/mp3dmod.c +++ b/dlls/mp3dmod/mp3dmod.c @@ -103,6 +103,8 @@ static ULONG WINAPI Unknown_Release(IUnknown *iface) if (!refcount) { + if (This->buffer) + IMediaBuffer_Release(This->buffer); if (This->intype_set) MoFreeMediaType(&This->intype); MoFreeMediaType(&This->outtype); diff --git a/dlls/mp3dmod/tests/mp3dmod.c b/dlls/mp3dmod/tests/mp3dmod.c index 1d404248cc1..e66ad3ace05 100644 --- a/dlls/mp3dmod/tests/mp3dmod.c +++ b/dlls/mp3dmod/tests/mp3dmod.c @@ -239,7 +239,7 @@ static void test_convert(void) ok(hr == S_OK, "got %#x\n", hr); IMediaObject_Release(dmo); - todo_wine ok(inbuf.refcount == 1, "Got outstanding refcount %d.\n", inbuf.refcount); + ok(inbuf.refcount == 1, "Got outstanding refcount %d.\n", inbuf.refcount); ok(outbuf.refcount == 1, "Got outstanding refcount %d.\n", outbuf.refcount); }