private void check_files_corruption()
        {
            try
            {
                if ( this.SeriesTreeView.SelectedItem == null )
                {
                    return;
                }

                var directory = this.SeriesTreeView.SelectedItem as IDirectoryItem;
                var file = this.SeriesTreeView.SelectedItem as IFileItem;

                if ( directory != null )
                {
                    var dmi = new MediaInfoWorker( directory );
                    dmi.start_scan();

                    var ffmpeg = new FfmpegCorruptWorker( directory );
                    ffmpeg.start_scan();
                }

                if ( file == null )
                {
                    return;
                }

                var fmi = new MediaInfoWorker( file );
                fmi.start_scan();

                var ffmpegfile = new FfmpegCorruptWorker( file );
                ffmpegfile.start_scan();
            }
            catch ( Exception ex )
            {
                Factory.Instance.LogLines.Enqueue( ex.Message );
                Factory.Instance.LogLines.Enqueue( ex.StackTrace );
            }
        }
        private void CheckAllFilesButton_Click( object sender, RoutedEventArgs e )
        {
            try
            {
                var fmi = new MediaInfoWorker();
                fmi.start_scan();
                Factory.Instance.Working.Add( fmi );

                var ffmpeg = new FfmpegCorruptWorker();
                ffmpeg.start_scan();
                Factory.Instance.Working.Add( ffmpeg );
            }
            catch ( Exception ex )
            {
                Factory.Instance.LogLines.Enqueue( ex.Message );
                Factory.Instance.LogLines.Enqueue( ex.StackTrace );
            }
        }