---
title: addAudioStream
framework: kernel
role: pseudoSymbol
path: kernel/ioaudioengine/1812081-addaudiostream
---

# addAudioStream

Adds an IOAudioStream to the audio engine.

## Declaration

```occ
virtual IOReturn addAudioStream(
 IOAudioStream *stream); 
```

## Parameters

- `stream`: The IOAudioStream to be added.

## Return Value

Return Value Returns kIOReturnSuccess if the stream was successfully added.

## Overview

Overview This function is called by the driver to add an IOAudioStream to the audio engine. This must be called at least once to make sure the audio engine has at least one IOAudioStream.

## See Also

### Miscellaneous

- [addTimer](kernel/ioaudioengine/1812084-addtimer.md)
- [clearAllSampleBuffers](kernel/ioaudioengine/1812089-clearallsamplebuffers.md)
- [clientClosed](kernel/ioaudioengine/1812093-clientclosed.md)
- [convertInputSamplesVBR](kernel/ioaudioengine/1812098-convertinputsamplesvbr.md)
- [createDictionaryFromSampleRate](kernel/ioaudioengine/1812105-createdictionaryfromsamplerate.md)
- [createSampleRateFromDictionary](kernel/ioaudioengine/1812109-createsampleratefromdictionary.md)
- [eraseOutputSamples](kernel/ioaudioengine/1812115-eraseoutputsamples.md)
- [free](kernel/ioaudioengine/1812122-free.md)
- [getAttributeForConnection](kernel/ioaudioengine/1812127-getattributeforconnection.md)
- [getCommandGate](kernel/ioaudioengine/1812131-getcommandgate.md)
- [getCurrentSampleFrame](kernel/ioaudioengine/1812136-getcurrentsampleframe.md)
- [getRunEraseHead](kernel/ioaudioengine/1812140-getrunerasehead.md)
- [getSampleRate](kernel/ioaudioengine/1812148-getsamplerate.md)
- [getState](kernel/ioaudioengine/1812155-getstate.md)
- [getStatus](kernel/ioaudioengine/1812164-getstatus.md)
- [getTimerInterval](kernel/ioaudioengine/1812174-gettimerinterval.md)
- [getWorkLoop](kernel/ioaudioengine/1812185-getworkloop.md)
- [init](kernel/ioaudioengine/1812194-init.md)
- [initHardware](kernel/ioaudioengine/1812206-inithardware.md)
- [initKeys](kernel/ioaudioengine/1812218-initkeys.md)
- [newUserClient](kernel/ioaudioengine/1812227-newuserclient.md)
- [performAudioEngineStart](kernel/ioaudioengine/1812238-performaudioenginestart.md)
- [performAudioEngineStop](kernel/ioaudioengine/1812251-performaudioenginestop.md)
- [performErase](kernel/ioaudioengine/1812263-performerase.md)
- [performFlush](kernel/ioaudioengine/1812272-performflush.md)
- [registerService](kernel/ioaudioengine/1812282-registerservice.md)
- [removeTimer](kernel/ioaudioengine/1812286-removetimer.md)
- [resetStatusBuffer](kernel/ioaudioengine/1812290-resetstatusbuffer.md)
- [setAttributeForConnection](kernel/ioaudioengine/1812296-setattributeforconnection.md)
- [setClockDomain](kernel/ioaudioengine/1812301-setclockdomain.md)
- [setClockIsStable](kernel/ioaudioengine/1812306-setclockisstable.md)
- [setInputSampleOffset](kernel/ioaudioengine/1812309-setinputsampleoffset.md)
- [setMixClipOverhead](kernel/ioaudioengine/1812312-setmixclipoverhead.md)
- [setOutputSampleOffset](kernel/ioaudioengine/1812315-setoutputsampleoffset.md)
- [setRunEraseHead](kernel/ioaudioengine/1812317-setrunerasehead.md)
- [setSampleLatency](kernel/ioaudioengine/1812320-setsamplelatency.md)
- [setSampleRate](kernel/ioaudioengine/1812325-setsamplerate.md)
- [setState](kernel/ioaudioengine/1812329-setstate.md)
- [start(IOService *)](kernel/ioaudioengine/1812338-start.md)
- [start(IOService *, IOAudioDevice *)](kernel/ioaudioengine/1812342-start.md)
- [startAudioEngine](kernel/ioaudioengine/1812346-startaudioengine.md)
- [stop](kernel/ioaudioengine/1812350-stop.md)
- [stopAudioEngine](kernel/ioaudioengine/1812359-stopaudioengine.md)
- [timerCallback](kernel/ioaudioengine/1812365-timercallback.md)
- [timerFired](kernel/ioaudioengine/1812371-timerfired.md)
