/// <summary> /// Add a plug-in to the video buffer's plug-in list /// </summary> public void RegisterPlugin(IVideoProcessor PlugIn) { if (ImageBuffers == null) { throw new Exception("Can't register a plug-in: video buffer has not been configured"); } ImageBuffers.RegisterPlugin(PlugIn); }
/// <summary> /// Clear all captured frames from all attached buffers. /// Buffers will refill if capture devices are running. /// </summary> public void ClearBuffers() { if (ImageBuffers != null) { ImageBuffers.WipeBuffer(); } if (AudioBuffers != null) { AudioBuffers.WipeBuffer(); } }
/// <summary> /// Force a timed frame into the encoder's buffers. /// May cause unexpected operation. Use with caution! /// </summary> public void ForceInsertFrame(System.Drawing.Bitmap VideoFrame, double SimulatedCaptureTime) { if (ImageBuffers != null) { ImageBuffers.HandleCapturedFrame(this, new VideoDataEventArgs() { Frame = VideoFrame, CaptureTime = SimulatedCaptureTime }); } else { throw new Exception("Can't send video frame to uninitialised buffer. Please include a video device in your config."); } }