<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "macOS: -",
    "tvOS: -",
    "visionOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "AudioToolbox",
  "identifier" : "/documentation/AudioToolbox/AURenderPullInputBlock",
  "metadataVersion" : "0.1.0",
  "role" : "Type Alias",
  "symbol" : {
    "kind" : "Type Alias",
    "modules" : [
      "Audio Toolbox"
    ],
    "preciseIdentifier" : "c:@T@AURenderPullInputBlock"
  },
  "title" : "AURenderPullInputBlock"
}
-->

# AURenderPullInputBlock

A block to supply audio input to a render block.

```
typealias AURenderPullInputBlock = (UnsafeMutablePointer<AudioUnitRenderActionFlags>, UnsafePointer<AudioTimeStamp>, AUAudioFrameCount, Int, UnsafeMutablePointer<AudioBufferList>) -> AUAudioUnitStatus
```

## Discussion

The caller must supply valid buffers in the input data’s `mBuffers'` `mData` and `mDataByteSize` fields (`mDataByteSize` must be consistent with `frameCount`). This block may provide input in those specified buffers, or it may replace the `mData` pointers with pointers to memory which it owns and guarantees will remain valid until the next render cycle.

The block returns an audio unit status result code. If instead an error is returned, the input data should be assumed to be invalid.

The block takes the following parameters:

- actionFlags: The pointer to the action flags.
- timestamp: The HAL time at which the input data will be rendered. If there is a sample rate conversion or time compression/expansion downstream, the sample time will not be valid.
- frameCount: The number of input sample frames requested.
- inputBusNumber: The index of the input bus being pulled.
- inputData: The input audio data.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)