protected override void ProcessOptimize(ProcessorArgs args) { if (_supportedExtensionsLookup.Contains(args.InputStream.Extension)) { if (args.ResultStream == null) { // MakeStreamSeekable will buffer the stream if its not seekable args.InputStream.MakeStreamSeekable(); args.InputStream.Stream.Seek(0, SeekOrigin.Begin); } var sourceStream = args.ResultStream ?? args.InputStream.Stream; var optimizerArgs = new OptimizerArgs(sourceStream, args.MediaOptions); CorePipeline.Run(Pipeline, optimizerArgs); args.IsOptimized = optimizerArgs.IsOptimized; args.Extension = optimizerArgs.Extension; args.ResultStream = optimizerArgs.Stream; if (!string.IsNullOrEmpty(optimizerArgs.Message)) { args.AddMessage(optimizerArgs.Message); } if (optimizerArgs.Aborted) { args.AbortPipeline(); } } }