The IWMWriterPreprocess interface handles multi-pass encoding. By making more than one pass, the writer can obtain better quality with better compression.
An IWMWriterPreprocess interface exists for every instance of the writer object. You can obtain a pointer to IWMWriterPreprocess with a call to the QueryInterface method of any other interface in the writer object.
The IWMWriterPreprocess interface has these methods.
|IWMWriterPreprocess::BeginPreprocessingPass||The BeginPreprocessingPass method prepares the writer to begin preprocessing samples for the specified input stream.|
|IWMWriterPreprocess::EndPreprocessingPass||The EndPreprocessingPass method ends a preprocessing pass started with a call to IWMWriterPreprocess::BeginPreprocessingPass.|
|IWMWriterPreprocess::GetMaxPreprocessingPasses||The GetMaxPreprocessingPasses method retrieves the maximum number of preprocessing passes for a specified input stream.|
|IWMWriterPreprocess::PreprocessSample||The PreprocessSample method delivers a sample to the writer for preprocessing.|
|IWMWriterPreprocess::SetNumPreprocessingPasses||The SetNumPreprocessingPasses method sets the number of passes to perform on an input.|