Indicates that a sample rate conversion (SRC) pass is needed.
struct SHAPE_FLOWGRAPH_SRC_COMMAND {
UINT64 command : 5;
UINT64 queued : 1;
UINT64 disabled : 1;
UINT64 error : 1;
UINT64 : 5;
UINT64 contextId : 12;
UINT64 mixBuffer0 : 13;
UINT64 mixBuffer1 : 13;
UINT64 : 13;
};
command
The SHAPE_FLOWGRAPH_COMMAND_TYPE_SRC command from SHAPE_FLOWGRAPH_COMMAND_TYPE.
queued
Internal process flag: 1 == inserted into internal command queue, 0 == still waiting.
disabled
Flag to disable the conversion: 1 == disabled (don’t process), 0 == enabled (process normally).
error
Command is invalid (set by ACP).
contextId
Context ID.
mixBuffer0
Output mix buffer for channel 0 (normally left / mono).
mixBuffer1
Output mix buffer for channel 1 (normally right).
SRC operates in one of two modes: MONO, or STEREO. In MONO mode, data is read from system memory on a sample by sample basis and written (after SRC) to a mix buffer. In STEREO mode, the data is interpreted as interleaved (Left/Right) stereo PCM data; each channel is output to a separate mix buffer. This allows for greatest performance with minimum of memory re-reads.
The SRC command is dispatched to the SRC hardware block for execution. The input data for the SRC block is specified in the SRC (or XMA) contexts and always resides in system memory. The output of the SRC will always go to one or more MixBuffers. Each command will correspond to the output processing of one channel of 128 samples audio frame (at 48kHz). The number of input samples consumed will depend on the SRC ratio.
Header: Declared in shapeflowgraph.h.
Library: Use acphal.lib.