//CONSTRUCTOR public CameraOutputGrabberThreadUsingVideo(VideoFile video_file) { this.video_file=video_file; Debug.WriteLine("Cam output thread starting"); WORK_DONE = false; }
//STARTS ALL NECESSARY THREADS private void StartReviewFootageThreads(VideoFile video) { Singleton.CURRENT_VIDEO_FILE = video; ThreadFactory.StartReviewFootageThreads(); }
//STARTS A CONTINUOUS RUNNING THREAD TO GRAB FRAMES FROM THE VIDEO FILE IN THE BACKGROUND private static VideoFromFileThread CreateVideoFileGrabberThread(VideoFile video_file) { video_from_file_grabber = new VideoFromFileThread(video_file); video_from_file_grabber.StartWorking(); return video_from_file_grabber; }
//STARTS A CONTINUOUS RUNNING THREAD TO GRAB FRAMES FROM THE CAMERA IN THE BACKGROUND private static CameraOutputGrabberThreadUsingVideo CreateNewCameraOutputGrabberThreadUsingVideo(VideoFile video_file) { cam_output_using_video = new CameraOutputGrabberThreadUsingVideo(video_file); cam_output_using_video.StartWorking(); return cam_output_using_video; }
public VideoFromFileThread(VideoFile video_file) : base() { this.video_file = video_file; WORK_DONE = false; }
private void CleanUp() { try { video_file.video_capture.Dispose(); video_file = null; current_frame = null; } catch (Exception) { } }
private void CleanUp() { video_file.video_capture.Dispose(); video_file = null; current_frame = null; }