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(); } } }
public virtual void Process(ProcessorArgs args) { if (Context.Site?.Properties["enableDianoga"] == "false") { args.AbortPipeline(); } }
protected override void ProcessOptimize(ProcessorArgs args) { var mediaPath = args.InputStream.MediaItem.MediaPath; if (IsExcluded(mediaPath)) { args.AbortPipeline(); } }