---
title: performAudioEngineStart
framework: kernel
role: pseudoSymbol
path: kernel/ioaudioengine/1812238-performaudioenginestart
---

# performAudioEngineStart

Called to start the audio I/O engine

## Declaration

```occ
virtual IOReturn performAudioEngineStart(); 
```

## Return Value

Return Value Must return kIOReturnSuccess on a successful start of the engine.

## Overview

Overview This method is called by startAudioEngine(). This must be overridden by the subclass. No call to the superclass' implementation is necessary. The subclass' implementation must start up the audio I/O engine. This includes any audio engine that needs to be started as well as any interrupts that need to be enabled.

## See Also

### Miscellaneous

- [addAudioStream](kernel/ioaudioengine/1812081-addaudiostream.md)
- [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)
- [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)
