Module: wine Branch: master Commit: 73072be1e68c1996c2c32a9ef7ea6f2ce9094049 URL: https://gitlab.winehq.org/wine/wine/-/commit/73072be1e68c1996c2c32a9ef7ea6f2...
Author: Zebediah Figura zfigura@codeweavers.com Date: Mon Oct 30 13:14:08 2023 -0500
qcap/audiorecord: Do not leak the sample when pausing or stopping.
---
dlls/qcap/audiorecord.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/dlls/qcap/audiorecord.c b/dlls/qcap/audiorecord.c index eefac79b409..775d942f8f8 100644 --- a/dlls/qcap/audiorecord.c +++ b/dlls/qcap/audiorecord.c @@ -602,14 +602,15 @@ static DWORD WINAPI stream_thread(void *arg) IMediaSample_SetTime(sample, &start_pts, &end_pts);
TRACE("Sending buffer %p.\n", sample); - hr = IMemInputPin_Receive(filter->source.pMemInputPin, sample); - IMediaSample_Release(sample); - if (FAILED(hr)) + if (FAILED(hr = IMemInputPin_Receive(filter->source.pMemInputPin, sample))) { ERR("IMemInputPin::Receive() returned %#lx.\n", hr); + IMediaSample_Release(sample); break; } } + + IMediaSample_Release(sample); }
LeaveCriticalSection(&filter->state_cs);