---
title: getState
framework: kernel
role: pseudoSymbol
path: kernel/ioaudioengine/1812155-getstate
---

# getState

Returns the current state of the IOAudioEngine.

## Declaration

```occ
virtual IOAudioEngineState getState(); 
```

## Return Value

Return Value The current state of the IOAudioEngine: kIOAudioEngineRunning, kIOAudioEngineStopped.

## Overview

Overview If this method is called in preparation for calling setState(), the stateLock must be acquired before the first call to getState() and held until after the last call to setState(). Be careful not to return from the code acquiring the lock while the lock is being held. That will cause a deadlock situation.

## 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)
- [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)
