> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# SHAPE_SRC_CONTEXT

> SHAPE_SRC_CONTEXT

# SHAPE\_SRC\_CONTEXT

The Sample Rate Convertor (SRC) context.

## Syntax

```cpp theme={null}
typedef 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 reserved[3];  
};  
```

### Members

*timestamp*\
Type: UINT32

Read: Time stamp for the completion of context processing.

*blocksToSkip*\
Type: UINT32

Write: Number of XMA blocks to skip when starting.

*internalSaturate*\
Type: UINT32

Read: 1 if SRC is saturated; 0 otherwise.

*mixBufPeakMag*\
Type: UINT32

Read: Peak magnitude of the left (or mono) output mix buffer.

*peakMag*\
Type: UINT32

Read: Peak magnitude of the left (or mono) channel.

*samplingIncrement*\
Type: UINT32

Read/Write: Start value of the sampling increment.

*reserved0*\
Type: UINT32

Reserved.

*cmd*\
Type: UINT32

Read/Write: A member of the [SHAPE\_SRC\_COMMAND\_TYPE](/reference/audio/shapesrccontext/enums/shape_src_command_type) enumeration.

*mixBufPeakMag2*\
Type: UINT32

Read: Peak magnitude of the right (or second) output mix buffer.

*peakMag2*\
Type: UINT32

Read: Peak magnitude of the right  (or second) channel.

*sampleCount*\
Type: UINT32

Read: The number of audio samples processed since playback started.

*samplePointer*\
Type: UINT32

Read/Write: Pointer to the current XMA/PCM input sample.

*reserved1*\
Type: UINT32

Reserved.

*samplingIncrementTarget*\
Type: UINT32

Read/Write: Target or end value of the sampling increment.

*reserved2*\
Type: UINT32

Reserved.

*reserved*\
Type: UINT32\[3]

Reserved.

## Remarks

This structure contains the context for the SRC block. The SRC performs sample rate conversion and pitch shifting.

Members that are marked as **Read** are written by the Audio Control Processor (ACP) library and should only be read by your application. Members that are marked as **Write** are set by your application and are not changed by the ACP library. Members that are marked as **Read/Write** are set by your application but can be changed by the ACP library. For more information about the SRC, see [Sample Rate Convertor (SRC) block](/build/console-features/audio/overviews/shape-overview#ID4EOE) in [Overview of SHAPE](/build/console-features/audio/overviews/shape-overview).

## Requirements

**Header:** shapesrccontext.h

**Supported platforms:** XBOX One family consoles and XBOX Series consoles

## Conceptual documentation

* [ACP overview](/build/console-features/audio/overviews/acp-overview)

## See also

[ShapeSrcContext](/reference/audio/shapesrccontext/shapesrccontext_members)


## Related topics

- [ShapeSrcContext](/reference/audio/shapesrccontext/shapesrccontext_members.md)
- [SetShapeSrcCommand](/reference/audio/shapesrccontext/functions/shapesrccontext_setshapesrccommand.md)
- [GetShapeSrcPitch](/reference/audio/shapesrccontext/functions/getshapesrcpitch.md)
- [GetShapeSrcTimestamp](/reference/audio/shapesrccontext/functions/getshapesrctimestamp.md)
- [SetShapeSrcPitch](/reference/audio/shapesrccontext/functions/setshapesrcpitch.md)
