# Stream Data to Filter

By default, when you run Filter out-of-process, and pass file streams to the API (instead of file names), Filter uses temporary files during communication.

When running out-of-process, you can configure KeyView to stream the file data while it processes it, rather than creating temporary files. This method is particularly beneficial if you do not want to process the whole file (for example, if you want to stop after filtering only some of the text, or extract only some of the subfiles).

NOTE: This option is disabled by default because for some files it might result in a longer processing time when you do need to process the whole file.

To turn on streaming mode, you can either:

- Set at least one of the following streaming parameters in the `[FilterSDK_Config]` section of the `formats.ini` to `pipe`:

  `streaming_method` | Set this parameter to `pipe` to change the overall behavior for filtering and extraction to use streaming mode. By default this parameter is set to `temp`, which uses temporary files during the filter process.
  `filter_streaming_method` | Set this parameter to `pipe` to configure filtering to use streaming mode. If you do not set this parameter, KeyView uses the value of `streaming_method`.
  `extract_streaming_method` | Set this parameter to `pipe` to configure extraction to use streaming mode. If you do not set this parameter, KeyView uses the value of `streaming_method`.

- Set the filter streaming options in the API.

The streaming method has a number of advantages:

- It reduces the disk space used for temporary files.

- It improves the responsiveness for partial filtering. When using the `temp_file` method, your first call to `DoFilterChunk` does not return until the entire file has been processed. When using the `pipe` method, `DoFilterChunk` returns the first block of text as soon as it is available.

- It reduces the I/O for partial filtering. When you use the pipe method, it might not be necessary for KeyView to read the whole input file, especially if you choose to stop filtering before all the text has returned.

- For many formats, it reduces the amount of the input file that is read during extraction, especially if you extract only a subset of the files.

_FT_HTML5_bannerTitle.htm