Пример #1
0
        public HRESULT GetUINT64(Guid guidKey, out ulong punValue)
        {
            var hr = _type.GetUINT64(guidKey, out punValue);

            Trace("guid: " + guidKey.ToName() + " value: " + punValue + " hr: " + hr);
            return(hr);
        }
Пример #2
0
        public static MFRatio GetFrameRate(IMFMediaType pMediaType)
        {
            HResult hr;
            long    i64;
            MFRatio fps;

            hr = pMediaType.GetUINT64(MFAttributesClsid.MF_MT_FRAME_RATE, out i64);
            MFError.ThrowExceptionForHR(hr);
            fps.Numerator   = (int)(i64 >> 32);
            fps.Denominator = (int)i64;

            return(fps);
        }
Пример #3
0
        public static long GetInt64(this IMFMediaType input, Guid key, long defaultValue = 0)
        {
            if (input == null)
            {
                throw new ArgumentNullException(nameof(input));
            }

            if (input.GetUINT64(key, out var value).IsError)
            {
                return(defaultValue);
            }

            return((long)value);
        }
Пример #4
0
        public static ulong GetUInt64(this IMFMediaType obj, Guid key, ulong defaultValue = 0)
        {
            if (obj == null)
            {
                throw new ArgumentNullException(nameof(obj));
            }

            if (obj.GetUINT64(key, out var value).IsError)
            {
                return(defaultValue);
            }

            return(value);
        }
Пример #5
0
        private static int MfGetAttribute2Uint32AsUint64(IMFMediaType pType, Guid guidKey, out int punHigh32, out int punLow32)
        {
            long attrValue;
            var  hr = pType.GetUINT64(guidKey, out attrValue);

            if (Succeeded(hr))
            {
                punLow32  = (int)attrValue;
                punHigh32 = (int)(attrValue >> 32);
            }
            else
            {
                punLow32  = 0;
                punHigh32 = 0;
            }

            return(hr);
        }
Пример #6
0
        public static MFRatio GetFrameRate(IMFMediaType pMediaType)
        {
            int hr;
            long i64;
            MFRatio fps;

            hr = pMediaType.GetUINT64(MFAttributesClsid.MF_MT_FRAME_RATE, out i64);
            MFError.ThrowExceptionForHR(hr);
            fps.Numerator = (int)(i64 >> 32);
            fps.Denominator = (int)i64;

            return fps;
        }
Пример #7
0
        private static int MFGetAttribute2UINT32asUINT64(IMFMediaType pType, Guid GuidKey, out int punHigh32, out int punLow32)
        {
            long AttrValue;
            int hr = pType.GetUINT64(GuidKey, out AttrValue);

            if (Succeeded(hr))
            {
                punLow32 = (int)AttrValue;
                punHigh32 = (int)(AttrValue >> 32);
            }
            else
            {
                punLow32 = 0;
                punHigh32 = 0;
            }

            return hr;
        }
Пример #8
0
        private static int MfGetAttribute2Uint32AsUint64(IMFMediaType pType, Guid guidKey, out int punHigh32, out int punLow32)
        {
            long attrValue;
            var hr = pType.GetUINT64(guidKey, out attrValue);

            if (Succeeded(hr))
            {
                punLow32 = (int)attrValue;
                punHigh32 = (int)(attrValue >> 32);
            }
            else
            {
                punLow32 = 0;
                punHigh32 = 0;
            }

            return hr;
        }