Exemplo n.º 1
0
        /// <summary>
        /// Gets the --fps value
        /// </summary>
        /// <returns>the --fps value</returns>
        public void getFPS(ref int fps_n, ref int fps_d)
        {
            string custom = _xs.CustomEncoderOptions;
            string strCustomValue;

            if (!extractCustomCommand("fps", out strCustomValue))
            {
                return;
            }
            _xs.CustomEncoderOptions = custom;

            int fpsnum, fpsden;

            System.Globalization.CultureInfo culture = System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
            if (strCustomValue.Contains("/"))
            {
                if (!Int32.TryParse(strCustomValue.Split('/')[0], System.Globalization.NumberStyles.None, culture, out fpsnum))
                {
                    return;
                }

                if (!Int32.TryParse(strCustomValue.Split('/')[1], System.Globalization.NumberStyles.None, culture, out fpsden))
                {
                    return;
                }
            }
            else
            {
                double fps;
                if (!Double.TryParse(strCustomValue, System.Globalization.NumberStyles.AllowDecimalPoint, culture, out fps))
                {
                    return;
                }

                if (!VideoUtil.getFPSFraction(fps, null, out fpsnum, out fpsden))
                {
                    return;
                }
            }

            if (_log != null)
            {
                _log.LogEvent("custom frame rate: " + fpsnum + "/" + fpsden);
            }

            fps_n = fpsnum;
            fps_d = fpsden;
        }