SHAPE_SRC_CONTEXT Structure

The SRC context structure.

Syntax

struct SHAPE_SRC_CONTEXT {
    UINT32 timestamp : 21;
    UINT32 blocksToSkip : 2;
    UINT32 internalSaturate : 1;
    UINT32 mixBufPeakMag : 4;
    UINT32 peakMag : 4;
    UINT32 samplingIncrement : 21;
    UINT32 reserved0 : 1;
    UINT32 cmd : 2;
    UINT32 mixBufPeakMag2 : 4;
    UINT32 peakMag2 : 4;
    UINT32 sampleCount : 32;
    UINT32 samplePointer : 25;
    UINT32 reserved1 : 7;
    UINT32 samplingIncrementTarget : 21;
    UINT32 reserved2 : 11;
    UINT32 reserved3[3];
};  

Members

timestamp
Read: Timestamp context processing was completed.

blocksToSkip
Write: Number of XMA blocks to skip when starting. Samples to skip = 128* blocksToSkip. A skip is needed because an unwanted artifact of XMA is a number of garbage samples output while the decoder is getting going.

internalSaturate
Read: 1 if SRC saturated, 0 otherwise.

mixBufPeakMag
Read: Peak Magnitude of left/mono output mix buffer.

peakMag
Read: Peak Magnitude of left/mono channel.

samplingIncrement
Read/write: Start value of sampling increment in u3.18 format. The hex value 0x040000 represents 1.0. Sampling increment values less than 1.0 mean up-sampling. Sampling increment values greater than 1.0 mean down-sampling.

reserved0
Reserved.

cmd
Read/write: Refer to SHAPE_SRC_COMMAND_TYPE.

mixBufPeakMag2
Read: Peak Magnitude of right output mix buffer.

peakMag2
Read: Peak Magnitude of right channel.

sampleCount
Read: Number of audio samples of audio data processed since voice playback started.

samplePointer
Read/write: Current pointer to XMA/PCM input sample for SRC.

reserved1
Reserved.

samplingIncrementTarget
Read/write: Target or end value of sampling increment in u3.18 format. The SRC linearly ramps the Sampling Increment to this value over the course of a 128 sample frame.

reserved2
Reserved.

reserved3
Reserved.

Remarks

The fields marked as Read: are written to by the ACP library and should only be read by your application. The fields marked Write: are set by your application and not changed by the ACP library. The fields marked Read:write are set by your application but can be changed by the ACP library.

Refer to the SHAPE Overview for a description of peak magnitude.

Requirements

Header: Declared in shapesrccontext.h.

Library: Use acphal.lib.