}
else
type = &This->sg->mtype;
+ if (!IsEqualGUID(&type->formattype, &FORMAT_None) &&
+ !IsEqualGUID(&type->formattype, &GUID_NULL) &&
+ !type->pbFormat)
+ return VFW_E_TYPE_NOT_ACCEPTED;
hr = IPin_ReceiveConnection(receiver,(IPin*)&This->lpVtbl,type);
if (FAILED(hr))
return hr;
!IsEqualGUID(&This->sg->mtype.formattype,&FORMAT_None) &&
!IsEqualGUID(&This->sg->mtype.formattype,&type->formattype))
return VFW_E_TYPE_NOT_ACCEPTED;
+ if (!IsEqualGUID(&type->formattype, &FORMAT_None) &&
+ !IsEqualGUID(&type->formattype, &GUID_NULL) &&
+ !type->pbFormat)
+ return VFW_E_TYPE_NOT_ACCEPTED;
if (This->sg->mtype.pbFormat)
CoTaskMemFree(This->sg->mtype.pbFormat);
This->sg->mtype = *type;