internal static IVideoStreamInfo Parse(int index, Dictionary<string, string> values) { var info = new VideoStreamInfo(); info.Resolution = (Resolution)Enum.Parse(typeof(Resolution), values.ReadValue<string>(string.Format("resolution{0}", index))); info.BitRate = values.ReadIntValue(string.Format("bitRate{0}", index)); info.FrameRate = values.ReadIntValue(string.Format("frameRate{0}", index)); info.GOP = values.ReadIntValue(string.Format("GOP{0}", index)); info.IsVBR = values.ReadIntValue(string.Format("isVBR{0}", index)) == 1 ? true : false; return info; }
private void SaveValues() { var info = new VideoStreamInfo(); info.IsVBR = cmbVariableBitrate.Active == 0 ? true : false; info.GOP = cmbGroupOfPics.Active + 10; info.FrameRate = cmbFramerate.Active + 1; var value = IsMainStream() ? _mainBitrates[cmbBitrate.Active] : _subBitrates[cmbBitrate.Active]; var kvp = _bitrates.FirstOrDefault(x => string.Compare(x.Key.ToUpper(), value.ToUpper()) == 0); info.BitRate = kvp.Value; if(cmbResolution.Active == 0) info.Resolution = Resolution.HD_720; else if(cmbResolution.Active == 1) info.Resolution = Resolution.VGA_640_480; else if(cmbResolution.Active == 2) info.Resolution = Resolution.VGA_640_360; else if(cmbResolution.Active == 3) info.Resolution = Resolution.QVGA_320_240; else if(cmbResolution.Active == 4) info.Resolution = Resolution.QVGA_320_180; if(InitCam()) { if(IsMainStream()) Cam.SetMainVideoStreamInfo(_mainStreamType, info); else Cam.SetSubVideoStreamInfo(_subStreamType, info); } }