SHAPE_FLOWGRAPH_ALLOC_MIXBUFFER_COMMAND Structure

Allocates a physical mix buffer for subsequent use.

Syntax

struct SHAPE_FLOWGRAPH_ALLOC_MIXBUFFER_COMMAND {
    UINT64 command : 5;
    UINT64 queued : 1;
    UINT64 disabled : 1;
    UINT64 error : 1;
    UINT64  : 5;
    UINT64 numIn : 10;
    UINT64 numOut : 10;
    UINT64 virtualId : 13;
    UINT64 attenuate : 3;
    UINT64  : 15;
};  

Members

command
The SHAPE_FLOWGRAPH_COMMAND_TYPE_ALLOCMIXBUFFER command from SHAPE_FLOWGRAPH_COMMAND_TYPE.

queued
Internal process flag: 1 == inserted into internal command queue, 0 == still waiting.

disabled
Flag to disable the command: 1 == disabled (don’t process), 0 == enabled (process normally).

error
Command is invalid (set by ACP).

numIn
Number of inputs. The mix buffer will not output anything until all inputs have completed.

numOut
Number of outputs. The mix buffer will not be released until all outputs have completed.

virtualId
Virtual ID, from 0 to 8191. There is a maximum of 8192 virtual mix buffers.

attenuate
Attenuation: 0 = none, all other values indicate the number of bits to shift input data. Refer to SHAPE_MIXBUFFER_ATTENUATION.

Remarks

The execution list uses virtual IDs for mix buffer assignments. It is only when an allocate command is executed that a physical mix buffer is bound to a given virtual ID. Subsequent commands that use a given virtual ID will be directed to the allocated physical mix buffer. The allocate command is dispatched from the SHAPE Processor to the mix buffer block, which performs the virtual ID to physical mix buffer binding.

Requirements

Header: Declared in shapeflowgraph.h.

Library: Use acphal.lib.