> ## 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.

# ShapePcmContext

> ShapePcmContext

# ShapePcmContext

ShapePcmContext APIs

## Functions

| Function                                                                                                            | Description                                                                     |
| ------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
| [GetShapePcmAudioBuffer](/reference/audio/shapepcmcontext/functions/getshapepcmaudiobuffer)                         | Gets the audio buffer of thePCM context.                                        |
| [GetShapePcmBufferFull](/reference/audio/shapepcmcontext/functions/getshapepcmbufferfull)                           | Gets the buffer-full flag.                                                      |
| [GetShapePcmBufferLength](/reference/audio/shapepcmcontext/functions/getshapepcmbufferlength)                       | Gets the audio buffer's length in samples.                                      |
| [GetShapePcmFormat](/reference/audio/shapepcmcontext/functions/getshapepcmformat)                                   | Gets the PCM format.                                                            |
| [GetShapePcmLoopCount](/reference/audio/shapepcmcontext/functions/getshapepcmloopcount)                             | Gets the loop count.                                                            |
| [GetShapePcmLoopEnd](/reference/audio/shapepcmcontext/functions/getshapepcmloopend)                                 | Gets the loop end for non-frame–aligned samples.                                |
| [GetShapePcmLoopStartOrWritePointer](/reference/audio/shapepcmcontext/functions/getshapepcmloopstartorwritepointer) | Gets the loop start for linear buffers or a write pointer for circular buffers. |
| [GetShapePcmMode](/reference/audio/shapepcmcontext/functions/getshapepcmmode)                                       | Gets the PCM mode.                                                              |
| [GetShapePcmReadPointer](/reference/audio/shapepcmcontext/functions/getshapepcmreadpointer)                         | Gets the read pointer.                                                          |
| [SetShapePcmAudioBuffer function](/reference/audio/shapepcmcontext/functions/setshapepcmaudiobuffer)                | Sets the PCM audio buffer by using a virtual pointer.                           |
| [SetShapePcmAudioBuffer](/reference/audio/shapepcmcontext/functions/setshapepcmaudiobuffer_2)                       | Sets the PCM audio buffer by using a physical address.                          |
| [SetShapePcmBufferFull](/reference/audio/shapepcmcontext/functions/setshapepcmbufferfull)                           | Sets the buffer full flag.                                                      |
| [SetShapePcmBufferLength](/reference/audio/shapepcmcontext/functions/setshapepcmbufferlength)                       | Sets the buffer length in samples.                                              |
| [SetShapePcmFormat](/reference/audio/shapepcmcontext/functions/setshapepcmformat)                                   | Sets the PCM format.                                                            |
| [SetShapePcmLoopCount](/reference/audio/shapepcmcontext/functions/setshapepcmloopcount)                             | Sets the loop count.                                                            |
| [SetShapePcmLoopEnd](/reference/audio/shapepcmcontext/functions/setshapepcmloopend)                                 | Sets the loop end for non-frame–aligned samples.                                |
| [SetShapePcmLoopStartOrWritePointer](/reference/audio/shapepcmcontext/functions/setshapepcmloopstartorwritepointer) | Sets the loop start for linear buffers or a write pointer for circular buffers. |
| [SetShapePcmMode](/reference/audio/shapepcmcontext/functions/setshapepcmmode)                                       | Sets the PCM mode.                                                              |
| [SetShapePcmReadPointer](/reference/audio/shapepcmcontext/functions/setshapepcmreadpointer)                         | Sets the read pointer.                                                          |

## Structures

| Structure                                                                         | Description                |
| --------------------------------------------------------------------------------- | -------------------------- |
| [SHAPE\_PCM\_CONTEXT](/reference/audio/shapepcmcontext/structs/shape_pcm_context) | The PCM context structure. |

## Enumerations

| Enumeration                                                                   | Description                               |
| ----------------------------------------------------------------------------- | ----------------------------------------- |
| [SHAPE\_PCM\_FORMAT](/reference/audio/shapepcmcontext/enums/shape_pcm_format) | Specifies the enumeration of PCM formats. |
| [SHAPE\_PCM\_MODE](/reference/audio/shapepcmcontext/enums/shape_pcm_mode)     | Specifies the enumeration of PCM modes.   |


## Related topics

- [ACP overview](/build/console-features/audio/overviews/acp-overview.md)
- [SHAPE_PCM_CONTEXT](/reference/audio/shapepcmcontext/structs/shape_pcm_context.md)
- [SetShapePcmFormat](/reference/audio/shapepcmcontext/functions/setshapepcmformat.md)
- [SetShapePcmMode](/reference/audio/shapepcmcontext/functions/setshapepcmmode.md)
- [GetShapePcmFormat](/reference/audio/shapepcmcontext/functions/getshapepcmformat.md)
