diff --git a/dlls/qcap/avico.c b/dlls/qcap/avico.c index e8a452fc7f5..b56a051d67b 100644 --- a/dlls/qcap/avico.c +++ b/dlls/qcap/avico.c @@ -350,9 +350,14 @@ static HRESULT WINAPI AVICompressorIn_Receive(struct strmbase_sink *base, IMedia return hres; } - hres = BaseOutputPinImpl_GetDeliveryBuffer(&This->source, &out_sample, &start, &stop, 0); - if(FAILED(hres)) + if (FAILED(hres = IMemAllocator_GetBuffer(This->source.pAllocator, &out_sample, &start, &stop, 0))) + { + ERR("Failed to get sample, hr %#x.\n", hres); return hres; + } + + if (FAILED(hres = IMediaSample_SetTime(out_sample, &start, &stop))) + ERR("Failed to set time, hr %#x.\n", hres); hres = IMediaSample_GetPointer(out_sample, &buf); if(FAILED(hres)) diff --git a/dlls/qcap/vfwcapture.c b/dlls/qcap/vfwcapture.c index 7e6b0ee5afe..84d6c093cc6 100644 --- a/dlls/qcap/vfwcapture.c +++ b/dlls/qcap/vfwcapture.c @@ -165,7 +165,7 @@ static DWORD WINAPI stream_thread(void *arg) LeaveCriticalSection(&filter->state_cs); - if (FAILED(hr = BaseOutputPinImpl_GetDeliveryBuffer(&filter->source, &sample, NULL, NULL, 0))) + if (FAILED(hr = IMemAllocator_GetBuffer(filter->source.pAllocator, &sample, NULL, NULL, 0))) { ERR("Failed to get sample, hr %#x.\n", hr); break;