IAudioProcessingObject interface (audioenginebaseapo.h)
System Effects Audio Processing Objects (sAPOs) are typically used in or called from real-time process threads. However, it is sometimes necessary to use an sAPO in a non real-time mode. For example, when an sAPO is initialized, it is called from a non real-time thread. But when audio processing begins, the sAPO is called from a real-time thread. The
IAudioProcessingObject interface exposes methods that enable a client to access the non real-time compliant parts of an sAPO.
IAudioProcessingObject interface supports the following methods:
The IAudioProcessingObject interface inherits from the IUnknown interface.
The IAudioProcessingObject interface has these methods.
GetInputChannelCount returns the input channel count (samples-per-frame) for this APO.
The GetLatency method returns the latency for this APO. Latency is the amount of time it takes a frame to traverse the processing pass of an APO.
GetRegistrationProperties returns the registration properties of the audio processing object (APO).
The Initialize method initializes the APO and supports data of variable length.
This method negotiates with the Windows Vista audio engine to establish a data format for the stream of audio data.
The IsOutputFormatSupported method is used to verify that a specific output format is supported.
The Reset method resets the APO to its original state. This method does not cause any changes in the connection objects that are attached to the input or the output of the APO.