HRESULT ACMWrapper_create(IUnknown * pUnkOuter, LPVOID * ppv) { HRESULT hr; ACMWrapperImpl* This; TRACE("(%p, %p)\n", pUnkOuter, ppv); *ppv = NULL; if (pUnkOuter) return CLASS_E_NOAGGREGATION; /* Note: This memory is managed by the transform filter once created */ This = CoTaskMemAlloc(sizeof(ACMWrapperImpl)); ZeroMemory(This, sizeof(ACMWrapperImpl)); hr = TransformFilter_Create(&(This->tf), &CLSID_ACMWrapper, &ACMWrapper_FuncsTable, NULL, NULL, NULL); if (FAILED(hr)) return hr; *ppv = This; This->lasttime_real = This->lasttime_sent = -1; return hr; }
HRESULT AVIDec_create(IUnknown * pUnkOuter, LPVOID * ppv) { HRESULT hr; AVIDecImpl * This; TRACE("(%p, %p)\n", pUnkOuter, ppv); *ppv = NULL; if (pUnkOuter) return CLASS_E_NOAGGREGATION; /* Note: This memory is managed by the transform filter once created */ This = CoTaskMemAlloc(sizeof(AVIDecImpl)); This->hvid = NULL; This->pBihIn = NULL; This->pBihOut = NULL; hr = TransformFilter_Create(&(This->tf), &CLSID_AVIDec, &AVIDec_FuncsTable, NULL, NULL, NULL); if (FAILED(hr)) return hr; *ppv = This; return hr; }
HRESULT ACMWrapper_create(IUnknown * pUnkOuter, LPVOID * ppv) { HRESULT hr; ACMWrapperImpl* This; TRACE("(%p, %p)\n", pUnkOuter, ppv); *ppv = NULL; if (pUnkOuter) return CLASS_E_NOAGGREGATION; /* Note: This memory is managed by the transform filter once created */ This = CoTaskMemAlloc(sizeof(ACMWrapperImpl)); This->has = 0; This->reinit_codec = TRUE; hr = TransformFilter_Create(&(This->tf), &CLSID_ACMWrapper, &ACMWrapper_FuncsTable); if (FAILED(hr)) return hr; *ppv = (LPVOID)This; return hr; }