From bd99bed928062eda6396b54b0a6e13906582e2fd Mon Sep 17 00:00:00 2001 From: Maarten Lankhorst Date: Tue, 10 Jun 2008 16:53:28 +0200 Subject: [PATCH] quartz: Set data length in avi decompressor --- dlls/quartz/avidec.c | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/dlls/quartz/avidec.c b/dlls/quartz/avidec.c index 3f0aed7..e35f144 100644 --- a/dlls/quartz/avidec.c +++ b/dlls/quartz/avidec.c @@ -117,14 +117,15 @@ static HRESULT AVIDec_ProcessSampleData(TransformFilterImpl* pTransformFilter, I cbDstStream = IMediaSample_GetSize(pOutSample); if (cbDstStream < This->pBihOut->biSizeImage) { ERR("Sample size is too small %d < %d\n", cbDstStream, This->pBihOut->biSizeImage); - hr = E_FAIL; - goto error; + hr = E_FAIL; + goto error; } res = ICDecompress(This->hvid, 0, This->pBihIn, pbSrcStream, This->pBihOut, pbDstStream); if (res != ICERR_OK) ERR("Error occurred during the decompression (%x)\n", res); + IMediaSample_SetActualDataLength(pOutSample, This->pBihOut->biSizeImage); IMediaSample_SetPreroll(pOutSample, (IMediaSample_IsPreroll(pSample) == S_OK)); IMediaSample_SetDiscontinuity(pOutSample, (IMediaSample_IsDiscontinuity(pSample) == S_OK)); -- 1.5.4.1