public static HResult SetDestinationRectangle(this IMFVideoProcessorControl videoProcessorControl, Rectangle destinationRectangle)
        {
            if (videoProcessorControl == null)
            {
                throw new ArgumentNullException("videoProcessorControl");
            }

            return(videoProcessorControl.SetDestinationRectangle(new MFRect(destinationRectangle)));
        }
        public static HResult SetConstrictionSize(this IMFVideoProcessorControl videoProcessorControl, Size constrictionSize)
        {
            if (videoProcessorControl == null)
            {
                throw new ArgumentNullException("videoProcessorControl");
            }

            return(videoProcessorControl.SetConstrictionSize(new MFSize(constrictionSize.Width, constrictionSize.Height)));
        }
        public static HResult SetBorderColor(this IMFVideoProcessorControl videoProcessorControl, Color borderColor)
        {
            if (videoProcessorControl == null)
            {
                throw new ArgumentNullException("videoProcessorControl");
            }

            return(videoProcessorControl.SetBorderColor(new MFARGB()
            {
                rgbRed = borderColor.R, rgbGreen = borderColor.G, rgbBlue = borderColor.B, rgbAlpha = borderColor.A
            }));
        }