public override ICaptureSource CreateCaptureSource(CameraSummary summary)
        {
            string       moniker = summary.Identifier;
            FrameGrabber grabber = new FrameGrabber(summary, moniker);

            return(grabber);
        }
示例#2
0
        public override ICaptureSource CreateCaptureSource(CameraSummary summary)
        {
            SnapshotRetriever snapper = snapshotting.FirstOrDefault(s => s.Identifier == summary.Identifier);

            if (snapper != null)
            {
                snapper.Cancel();
                snapper.Thread.Join(500);
                if (snapper.Thread.IsAlive)
                {
                    snapper.Thread.Abort();
                }

                snapper.CameraThumbnailProduced -= SnapshotRetriever_CameraThumbnailProduced;
                snapshotting.Remove(snapper);
            }

            string       moniker = summary.Identifier;
            FrameGrabber grabber = new FrameGrabber(summary, moniker);

            return(grabber);
        }