<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 17.0.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "PHASE",
  "identifier" : "/documentation/PHASE/PHASEPushStreamNode",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "PHASE"
    ],
    "preciseIdentifier" : "c:objc(cs)PHASEPushStreamNode"
  },
  "title" : "PHASEPushStreamNode"
}
-->

# PHASEPushStreamNode

An audio stream you manage to provide a sound buffer data.

```
class PHASEPushStreamNode
```

## Overview

A sound event’s [`pushStreamNodes`](/documentation/PHASE/PHASESoundEvent/pushStreamNodes) dictionary populates with an instance of this class when PHASE invokes a  [`PHASEPushStreamNodeDefinition`](/documentation/PHASE/PHASEPushStreamNodeDefinition) in your event node tree.

Your app provides the audio data that the sound event plays by calling one or more of this class’s buffer-scheduling functions, for example, [`scheduleBuffer(buffer:)`](/documentation/PHASE/PHASEPushStreamNode/scheduleBuffer(buffer:)).

## Topics

### Inspecting Stream Properties

[`mixer`](/documentation/PHASE/PHASEPushStreamNode/mixer)

The audio stream’s output pipeline.

[`format`](/documentation/PHASE/PHASEPushStreamNode/format)

The format of the audio stream data.

### Providing Audio Data

[`-  scheduleBuffer:`](/documentation/PHASE/PHASEPushStreamNode/scheduleBuffer(buffer:))

Schedules audio data for playback.

[`-  scheduleBuffer:atTime:options:`](/documentation/PHASE/PHASEPushStreamNode/scheduleBuffer(buffer:time:options:))

Schedules audio data playback at a specific time.

[`-  scheduleBuffer:atTime:options:completionCallbackType:completionHandler:`](/documentation/PHASE/PHASEPushStreamNode/scheduleBuffer(buffer:time:options:completionCallbackType:completionHandler:))

Schedules audio data playback at a specific time with a completion handler.

[`-  scheduleBuffer:completionCallbackType:completionHandler:`](/documentation/PHASE/PHASEPushStreamNode/scheduleBuffer(buffer:completionCallbackType:completionHandler:))

Schedules audio data playback with a completion handler.

[`PHASEPushStreamCompletionCallbackCondition`](/documentation/PHASE/PHASEPushStreamCompletionCallbackCondition)

A status that describes the results after the app schedules a push-stream buffer.

### Controlling Playback

[`gainMetaParameter`](/documentation/PHASE/PHASEPushStreamNode/gainMetaParameter)

A meta parameter for dynamic loudness control.

[`rateMetaParameter`](/documentation/PHASE/PHASEPushStreamNode/rateMetaParameter)

A meta parameter for dynamic rate control.

## Relationships

### Conforms To

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`Equatable`](/documentation/Swift/Equatable)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`Hashable`](/documentation/Swift/Hashable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`CVarArg`](/documentation/Swift/CVarArg)

### Inherits From

[`PHASEStreamNode`](/documentation/PHASE/PHASEStreamNode)

---

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)