public static string?EnsureAvailableFFmpegAndPotentiallyStartSetup() { var path = FFmpegManager.GetAbsoluteFFmpegPath(true); if (path != null) { return(path); } var setupResult = FFmpegManagerUi.StartGuidedSetupDialog(); switch (setupResult) { case AfterSetupAction.QuitApplication: HolzShotsApplication.Instance.Terminate(); return(null); case AfterSetupAction.AbortCurrentAction: return(null); case AfterSetupAction.Coninue: path = FFmpegManager.GetAbsoluteFFmpegPath(true); Debug.Assert(path != null); return(path); default: Debug.Fail("Unhandled AfterSetupAction: " + setupResult); throw new ArgumentException("Unhandled AfterSetupAction: " + setupResult); } }
public ProjectKeyframeOverview(FileTreeObject fileTreeObject, ProjectManager projectManager, FFmpegManager ffmpegManager, DefaultCodecHeaderManager defaultCodecHeaderManager, FullFileScanner fullFileScanner, Creator <SelectingKeyframe> selectingKeyframeCreator) { if (_activeInstance != null) { throw new Exception("It's not allowed to create multiple ProjectKeyframeOverview windows."); } _activeInstance = this; _fileTreeObject = fileTreeObject; _projectManager = projectManager; _ffmpegManager = ffmpegManager; _defaultCodecHeaderManager = defaultCodecHeaderManager; _fullFileScanner = fullFileScanner; _selectingKeyframeCreator = selectingKeyframeCreator; InitializeComponent(); ReportProgressComplete(); _resultRows = new List <ProjectKeyframeOverviewRow>(); resultsTree.DataSource = _resultRows; projectManager.ProjectChanged += new EventHandler <ProjectChangedEventArgs>(projectManager_ProjectChanged); defaultCodecHeaderManager.CodecHeaderChanged += new DefaultCodecHeaderManager.DefaultCodecHeaderChangeHandler(defaultCodecHeaderManager_CodecHeaderChanged); fullFileScanner.ScanNextCodecStreamOnInvalidation = true; fullFileScanner.ScanMoreThanOneFragment = false; fullFileScanner.ScanProgressChanged += new ProgressChangedEventHandler(fullFileScanner_ScanProgressChanged); fullFileScanner.ResultDetected += new FullFileScanner.ResultDetectedHandler(fullFileScanner_ResultDetected); fullFileScanner.ScanCompleted += new FullFileScanner.ScanCompleteHandler(fullFileScanner_ScanCompleted); fullFileScanner.ScanNumCodecStreams = 1; // Limit to only 1 codecstream, otherwise the scan will take to long }
public VideoKeyframesManager(FFmpegManager ffmpegManager, ProjectManager projectManager, DefaultCodecHeaderManager defaultCodecHeaderManager, Creator <VideoKeyframesWindow> videoThumbsWindowCreator) { _ffmpegManager = ffmpegManager; _videoThumbsWindowCreator = videoThumbsWindowCreator; projectManager.ProjectChanged += new EventHandler <ProjectChangedEventArgs>(ProjectChanged); defaultCodecHeaderManager.CodecHeaderChanged += new DefaultCodecHeaderManager.DefaultCodecHeaderChangeHandler(defaultCodecHeaderManager_CodecHeaderChanged); }
public FramePreviewManager(ProjectManager projectManager, FFmpegManager ffmpegManager, DefaultCodecHeaderManager defaultCodecHeaderManager, IForensicIntegrityLog forensicIntegrityLog) { _ffmpegManager = ffmpegManager; _forensicIntegrityLog = forensicIntegrityLog; projectManager.ProjectChanged += new EventHandler <ProjectChangedEventArgs>(ProjectChanged); defaultCodecHeaderManager.CodecHeaderChanged += new DefaultCodecHeaderManager.DefaultCodecHeaderChangeHandler(defaultCodecHeaderManager_CodecHeaderChanged); }
public HeaderSource(IFormFactory formFactory, FileTree mainFileTree, FFmpegManager ffmpegManager) { _dialogOpen = true; _formFactory = formFactory; _mainFileTree = mainFileTree; _ffmpegManager = ffmpegManager; InitializeComponent(); UpdateHeaderSourceMessage(); AddFileAndStreamSourceToList(); }
public void TearDown() { _ffmpegManager.Dispose(); _ffmpegManager = null; }
public void SetUp() { _ffmpegManager = new FFmpegManager(TestFramework.CreateFrameConverter(), null); }