/// <summary> /// Sets the video bit rate. /// </summary> /// <param name="minKbps">The min KBPS.</param> /// <param name="maxKbps">The max KBPS.</param> /// <param name="isVBR">if set to <c>true</c> [is VBR].</param> public void SetVideoBitRate(int minKbps, int maxKbps, bool isVBR) { AppLogger.Message(String.Format("WinTV: SetVideoBitrate min:{0} max:{1} vbr:{2} {3}", minKbps, maxKbps, isVBR, Marshal.SizeOf(typeof(VideoBitRate)))); VideoBitRate bitrate = new VideoBitRate(); if (isVBR) { bitrate.isvbr = 1; } else { bitrate.isvbr = 0; } bitrate.size = (uint)Marshal.SizeOf(typeof(VideoBitRate)); bitrate.bitrate = (uint)minKbps; bitrate.maxBitrate = (uint)maxKbps; SetStructure(HauppaugeGuid, (int)PropertyId.VideoBitRate, typeof(VideoBitRate), (object)bitrate); GetVideoBitRate(out minKbps, out maxKbps, out isVBR); }
public void SaveSettings() { if (iniFile != null) { iniFile.WriteValue("Settings", "AudioInputPath", AudioInputPath); iniFile.WriteValue("Settings", "AudioChannel", AudioChannel.ToString()); iniFile.WriteValue("Settings", "AudioBitRate", AudioBitRate.ToString()); iniFile.WriteValue("Settings", "AudioSampleRate", AudioSampleRate.ToString()); iniFile.WriteValue("Settings", "AudioFrameSize", AudioFrameSize.ToString()); iniFile.WriteValue("Settings", "Camera1_InputPath", Camera1_InputPath); iniFile.WriteValue("Settings", "Camera2_InputPath", Camera2_InputPath); iniFile.WriteValue("Settings", "VideoMixingMode", VideoMixingMode.ToString()); iniFile.WriteValue("Settings", "VideoOutputFormat", VideoOutputFormat.ToString()); iniFile.WriteValue("Settings", "VideoBitRate", VideoBitRate.ToString()); iniFile.WriteValue("Settings", "VideoFrameRate", VideoFrameRate.ToString()); } Log.WriteLine(ToString()); }
/// <summary> /// Gets the video bit rate. /// </summary> /// <param name="minKbps">The min KBPS.</param> /// <param name="maxKbps">The max KBPS.</param> /// <param name="isVBR">if set to <c>true</c> [is VBR].</param> /// <returns></returns> public bool GetVideoBitRate(out int minKbps, out int maxKbps, out bool isVBR) { VideoBitRate bitrate = new VideoBitRate(); bitrate.size = (uint)Marshal.SizeOf(bitrate); object obj = GetStructure(HauppaugeGuid, (int)PropertyId.VideoBitRate, typeof(VideoBitRate)); try { bitrate = (VideoBitRate)obj; } catch (Exception exc) { AppLogger.Message(String.Format("GetVideoBitRate exception: {0}", exc.Message)); } isVBR = bitrate.isvbr != 0; minKbps = (int)bitrate.bitrate; maxKbps = (int)bitrate.maxBitrate; AppLogger.Message(String.Format("WinTV: current VideoProfileSettings: min:{0} max:{1} vbr:{2}", minKbps, maxKbps, isVBR)); return(true); }