/// <summary> /// Initializes a new instance of the ConversionProgress class /// </summary> /// <param name="arguments">Encode arguments</param> /// <param name="useSinkWriter">False to use the Transcode API, true to use Sink Writer</param> public ConversionProgress(Dictionary <string, object> arguments, bool useSinkWriter) { // Start Media Foundation MFHelper.MFStartup(); this.InitializeComponent(); this.startTime = DateTime.Now; this.progressTimer = new DispatcherTimer(); this.progressTimer.Interval = TimeSpan.FromMilliseconds(500); this.progressTimer.Tick += ProgressTimer_Tick; if (useSinkWriter) { this.encodeWorker = new SimpleSinkWriterEncode(); } else { this.encodeWorker = new SimpleFastEncode(); } // Start transcoding this.StartEncode(arguments); }