//---------------------------------------------------------------------------- // Copyright (C) 2004-2015 by EMGU Corporation. All rights reserved. //---------------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Runtime.InteropServices; using System.Text; using Emgu.CV; using Emgu.CV.Structure; using Emgu.Util; namespace Emgu.CV.VideoStab { /// /// Use the Capture class as a FrameSource /// public class CaptureFrameSource : FrameSource { /// /// Create a Capture frame source /// /// The capture object that will be converted to a FrameSource public CaptureFrameSource(Capture capture) { _ptr = VideoStabInvoke.VideostabCaptureFrameSourceCreate(capture, ref FrameSourcePtr); CaptureSource = capture.CaptureSource; } /// /// Release the unmanaged memory associated with this CaptureFrameSource /// protected override void DisposeObject() { VideoStabInvoke.VideostabCaptureFrameSourceRelease(ref _ptr); FrameSourcePtr = IntPtr.Zero; base.DisposeObject(); } } }