public HRESULT IsEqual(IMFMediaType pIMediaType, out uint pdwFlags) { var hr = _type.IsEqual(pIMediaType, out pdwFlags); var flags = (MF_MEDIATYPE_EQUAL_FLAGS)pdwFlags; Trace("type: " + pIMediaType + " flags: " + flags + " hr: " + hr); return(hr); }
/// <summary> /// Check to see if two IMFMediaTypes are identical. /// </summary> /// <param name="a">First media type.</param> /// <param name="b">Second media type.</param> /// <returns>S_Ok if identical, else MF_E_INVALIDTYPE.</returns> protected static HResult IsIdentical(IMFMediaType a, IMFMediaType b) { // Otherwise, proposed input must be identical to output. MFMediaEqual flags; HResult hr = a.IsEqual(b, out flags); // IsEqual can return S_FALSE. Treat this as failure. if (hr != HResult.S_OK) { hr = HResult.MF_E_INVALIDTYPE; } return(hr); }
public static bool AreMediaTypesEqual(IMFMediaType pType1, IMFMediaType pType2) { if ((pType1 == null) && (pType2 == null)) { return(true); // Both are NULL. } else if ((pType1 == null) || (pType2 == null)) { return(false); // One is NULL. } MFMediaEqual dwFlags; HResult hr = pType1.IsEqual(pType2, out dwFlags); return(hr == 0); }
public static bool AreMediaTypesEqual(IMFMediaType pType1, IMFMediaType pType2) { if ((pType1 == null) && (pType2 == null)) { return true; // Both are NULL. } else if ((pType1 == null) || (pType2 == null)) { return false; // One is NULL. } MFMediaEqual dwFlags; int hr = pType1.IsEqual(pType2, out dwFlags); return (hr == 0); }