---
title: performAudioEngineStop
framework: kernel
role: pseudoSymbol
path: kernel/ioaudioengine/1812251-performaudioenginestop
---

# performAudioEngineStop

Called to stop the audio I/O engine

## Declaration

```occ
virtual IOReturn performAudioEngineStop(); 
```

## Return Value

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

## Overview

Overview This method is called by stopAudioEngine() and pauseAudioEngine. This must be overridden by the subclass. No call to the superclass' implementation is necessary. The subclass' implementation must stop the audio I/O engine. This includes any audio engine that needs to be stopped as well as any interrupts that need to be disabled.

## 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)
- [performAudioEngineStart](kernel/ioaudioengine/1812238-performaudioenginestart.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)
