Esempio n. 1
0
        // Lots of magic numbers here, my apologies. These are subject to experimentation and refinement. Eventually
        // they will be configurable, but I can't yet be arsed.
        public SourceEntry(string source)
        {
            var triggerRates = new RateControl[] {
                RateControl.FromSeconds(6, 30),
                RateControl.FromSeconds(8, 60)
            };

            RateControl[] outputRates;
            if (MessageTools.IsChannel(source))
            {
                outputRates = new RateControl[] {
                    RateControl.FromSeconds(8, 5),
                    RateControl.FromSeconds(12, 10)
                };
            }
            else
            {
                outputRates = new RateControl[] {
                    RateControl.FromSeconds(30, 20)
                };
            }

            var duration = TimeSpan.FromMinutes(15);

            Triggers = new ThrottleControl(triggerRates, duration);
            Output   = new ThrottleControl(outputRates, duration);
        }
 internal VideoEncoderConfiguration(VideoEncoding?encoding, float?quality, VideoResolution resolution, RateControl rateControl, H264Configuration h264, Mpeg4Configuration mpeg4)
 {
     Encoding    = encoding;
     Quality     = quality;
     Resolution  = resolution;
     RateControl = rateControl;
     H264        = h264;
     Mpeg4       = mpeg4;
 }