<!--
{
  "availability" : [
    "iOS: 2.0.0 -",
    "iPadOS: 2.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.5.0 -",
    "tvOS: 9.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AudioToolbox",
  "identifier" : "/documentation/AudioToolbox/AudioFileStreamParseBytes(_:_:_:_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Function",
  "symbol" : {
    "kind" : "Function",
    "modules" : [
      "Audio Toolbox"
    ],
    "preciseIdentifier" : "c:@F@AudioFileStreamParseBytes"
  },
  "title" : "AudioFileStreamParseBytes(_:_:_:_:)"
}
-->

# AudioFileStreamParseBytes(_:_:_:_:)

Passes audio file stream data to the parser.

```
func AudioFileStreamParseBytes(_ inAudioFileStream: AudioFileStreamID, _ inDataByteSize: UInt32, _ inData: UnsafeRawPointer?, _ inFlags: AudioFileStreamParseFlags) -> OSStatus
```

## Parameters

`inAudioFileStream`

The ID of the parser to which you wish to pass data. The parser ID is returned by the [`AudioFileStreamOpen(_:_:_:_:_:)`](/documentation/AudioToolbox/AudioFileStreamOpen(_:_:_:_:_:)) function.

`inDataByteSize`

The number of bytes of data to be parsed.

`inData`

The data to be parsed.

`inFlags`

An audio file stream flag. If there is a discontinuity from the last data you passed to the parser, set the  [`discontinuity`](/documentation/AudioToolbox/AudioFileStreamParseFlags/discontinuity) flag.

## Return Value

A result code. See Result Codes.

## Discussion

Streamed audio file data is expected to be passed to the parser in the same sequence in which it appears in the audio file, from the beginning of the audio file stream, without gaps. However, if you called the [`AudioFileStreamSeek(_:_:_:_:)`](/documentation/AudioToolbox/AudioFileStreamSeek(_:_:_:_:)) function, the parser assumes that the data passed to the [`AudioFileStreamParseBytes(_:_:_:_:)`](/documentation/AudioToolbox/AudioFileStreamParseBytes(_:_:_:_:)) function starts from the byte offset returned by the [`AudioFileStreamSeek(_:_:_:_:)`](/documentation/AudioToolbox/AudioFileStreamSeek(_:_:_:_:)) function.

When you provide data to the parser, the parser looks for property data and audio data packets and, when it has data ready, calls your [`AudioFileStream_PropertyListenerProc`](/documentation/AudioToolbox/AudioFileStream_PropertyListenerProc) and [`AudioFileStream_PacketsProc`](/documentation/AudioToolbox/AudioFileStream_PacketsProc) callback functions to process the data. You should provide at least more than a single packet’s worth of audio file data, but it is better to provide a few packets to a few seconds data at a time.

## See Also

[`AudioFileStream_PropertyListenerProc`](/documentation/AudioToolbox/AudioFileStream_PropertyListenerProc)

Invoked by an audio file stream parser when it finds a property value in the audio file stream.

[`AudioFileStreamSeek(_:_:_:_:)`](/documentation/AudioToolbox/AudioFileStreamSeek(_:_:_:_:))

Provides a byte offset for a specified packet in the data stream.

[`AudioFileStreamOpen(_:_:_:_:_:)`](/documentation/AudioToolbox/AudioFileStreamOpen(_:_:_:_:_:))

Creates and opens a new audio file stream parser.

[`AudioFileStream_PacketsProc`](/documentation/AudioToolbox/AudioFileStream_PacketsProc)

Invoked by an audio file stream parser when it finds audio data in the audio file stream.



---

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)