//----------------------------------------------------------------------------
// 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();
}
}
}