From: Zebediah Figura zfigura@codeweavers.com
--- 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);