private void ActivateVideoCapability(FilterInfo fi) { Debug.Assert(!vcs.Contains(fi)); vc = new VideoCapability(fi); vcs.Add(fi, vc); vc.SetLogger(new AVLogger(Log)); vc.ActivateCamera(); vcg = vc.VideoCaptureGraph; RenderAndRunVideo(vcg); }
public frmVideoSettings(FilterInfo fi, frmAVDevices frmAV) { InitializeComponent(); Debug.Assert(frmAV != null); this.fi = fi; this.frmAV = frmAV; if (!frmAV.videoCapabilities.ContainsKey(fi)) { vc = new VideoCapability(fi); vc.SetLogger(new AVLogger(Log)); vc.ActivateCamera(); disposeCapability = true; } else { vc = frmAV.videoCapabilities[fi]; disposeCapability = false; } }
/// <summary> /// Create a VideoCapability for the specified camera, grab the data from the /// capture graph, then dispose the capability. /// </summary> /// <param name="fi"></param> private void UpdateVideoBox(FilterInfo fi) { if (videoCapabilities.ContainsKey(fi)) { //The capability might exist if there is a video test underway. UpdateVideoBox(videoCapabilities[fi].CaptureGraph); } else { VideoCapability vc = new VideoCapability(fi); vc.SetLogger(new AVLogger(Log)); vc.ActivateCamera(); UpdateVideoBox(vc.CaptureGraph); vc.Dispose(); } }
/// <summary> /// Turn the specified video test on or off /// </summary> /// <param name="fi"></param> /// <param name="start"></param> private void TestVideo(FilterInfo fi, bool start) { if (start) { VideoCapability vc = new VideoCapability(fi); videoCapabilities.Add(fi, vc); vc.SetLogger(new AVLogger(Log)); vc.ActivateCamera(); RenderAndRunVideo(vc.CaptureGraph); } else { if (videoCapabilities.ContainsKey(fi)) { VideoCapability vc = videoCapabilities[fi]; videoCapabilities.Remove(fi); RenderAndRunVideo(vc.CaptureGraph, false); vc.Dispose(); } } }