Exemple #1
0
        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);
        }
Exemple #2
0
        /// <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);
        }
Exemple #3
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;
            HResult      hr = pType1.IsEqual(pType2, out dwFlags);

            return(hr == 0);
        }
Exemple #4
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);
        }