private void cbWMVVideoMode_SelectedIndexChanged(object sender, EventArgs e) { var mode = VFWMVStreamMode.CBR; switch (cbWMVVideoMode.SelectedIndex) { case 0: { mode = VFWMVStreamMode.CBR; edWMVVideoBitrate.Enabled = true; edWMVVideoPeakBitrate.Enabled = false; edWMVVideoQuality.Enabled = false; break; } case 1: { mode = VFWMVStreamMode.VBRBitrate; edWMVVideoBitrate.Enabled = true; edWMVVideoPeakBitrate.Enabled = false; edWMVVideoQuality.Enabled = false; break; } case 2: { mode = VFWMVStreamMode.VBRPeakBitrate; edWMVVideoBitrate.Enabled = true; edWMVVideoPeakBitrate.Enabled = true; edWMVVideoQuality.Enabled = false; break; } case 3: { mode = VFWMVStreamMode.VBRQuality; edWMVVideoBitrate.Enabled = false; edWMVVideoPeakBitrate.Enabled = false; edWMVVideoQuality.Enabled = true; break; } } cbWMVVideoCodec.Items.Clear(); if (_coreVideoCapture != null) { foreach (string codec in _coreVideoCapture.WMV_CustomProfile_VideoCodecs(mode)) { cbWMVVideoCodec.Items.Add(codec); } } else { foreach (string codec in _coreVideoEdit.WMV_CustomProfile_VideoCodecs(mode)) { cbWMVVideoCodec.Items.Add(codec); } } if (cbWMVVideoCodec.Items.Count > 0) { cbWMVVideoCodec.SelectedIndex = 0; } }