IAudioProcessingObjectRT::APOProcess method (audioenginebaseapo.h)

The APOProcess method causes the APO to make a processing pass.

Syntax

void APOProcess(
  [in]      UINT32                  u32NumInputConnections,
  [in]      APO_CONNECTION_PROPERTY **ppInputConnections,
  [in]      UINT32                  u32NumOutputConnections,
  [in, out] APO_CONNECTION_PROPERTY **ppOutputConnections
);

Parameters

[in] u32NumInputConnections

The number of input connections that are attached to this APO.

[in] ppInputConnections

An array of input connection property structures. There is one structure per input connection.

[in] u32NumOutputConnections

The number of output connections that are attached to this APO.

[in, out] ppOutputConnections

An array of output connection property structures. There is one structure per output connection.

Return value

None

Return code Description

Remarks

The APOProcess method must not change the data in the ppOutputConnections array. But it must set the properties of the output connections after processing.

The APOProcess method is called from a real-time processing thread. The implementation of this method must not touch paged memory and it should not call any system blocking routines.

For a detailed look at an implementation of this method, see the Swap sample code and refer to the Swapapolfx.cpp file.

Requirements

Requirement Value
Minimum supported client Available with Windows Vista and later versions of the Windows operating system.
Target Platform Universal
Header audioenginebaseapo.h
Library Audioenginebaseapo.idl
IRQL All levels

See also

Swap sample code