---
title: audioEngineStarting
framework: kernel
role: pseudoSymbol
path: kernel/ioaudiodevice/1811673-audioenginestarting
---

# audioEngineStarting

Called by IOAudioEngine when it is starting up

## Declaration

```occ
virtual void audioEngineStarting(); 
```

## Overview

Overview This should only be called while on the IOWorkLoop. It is not intended to be called directly. It is called when an IOAudioEngine is starting up to allow the IOAudioDevice to keep track of running audio engines and change the power state from kIOAudioDeviceIdle to kIOAudioDeviceActive when the first audio engine starts up. If the state change is done asynchronously, it waits for the state change to complete. This is to ensure that the system doesn't start playing audio until the IOAudioDevice has completed its transition to kIOAudioDeviceActive.

## See Also

### Miscellaneous

- [activateAudioEngine(IOAudioEngine *)](kernel/ioaudiodevice/1811648-activateaudioengine.md)
- [activateAudioEngine(IOAudioEngine *, bool)](kernel/ioaudiodevice/1811655-activateaudioengine.md)
- [addTimerEvent](kernel/ioaudiodevice/1811662-addtimerevent.md)
- [attachAudioPort](kernel/ioaudiodevice/1811666-attachaudioport.md)
- [audioEngineStopped](kernel/ioaudiodevice/1811679-audioenginestopped.md)
- [completePowerStateChange](kernel/ioaudiodevice/1811685-completepowerstatechange.md)
- [completePowerStateChangeAction](kernel/ioaudiodevice/1811692-completepowerstatechangeaction.md)
- [deactivateAllAudioEngines](kernel/ioaudiodevice/1811697-deactivateallaudioengines.md)
- [detachAllAudioPorts](kernel/ioaudiodevice/1811704-detachallaudioports.md)
- [dispatchTimerEvents](kernel/ioaudiodevice/1811710-dispatchtimerevents.md)
- [flushAudioControls](kernel/ioaudiodevice/1811716-flushaudiocontrols.md)
- [free](kernel/ioaudiodevice/1811723-free.md)
- [getCommandGate](kernel/ioaudiodevice/1811730-getcommandgate.md)
- [getPendingPowerState](kernel/ioaudiodevice/1811740-getpendingpowerstate.md)
- [getPowerState](kernel/ioaudiodevice/1811749-getpowerstate.md)
- [getWorkLoop](kernel/ioaudiodevice/1811757-getworkloop.md)
- [init](kernel/ioaudiodevice/1811765-init.md)
- [initHardware](kernel/ioaudiodevice/1811773-inithardware.md)
- [initiatePowerStateChange](kernel/ioaudiodevice/1811782-initiatepowerstatechange.md)
- [performPowerStateChange](kernel/ioaudiodevice/1811791-performpowerstatechange.md)
- [protectedCompletePowerStateChange](kernel/ioaudiodevice/1811798-protectedcompletepowerstatechang.md)
- [protectedSetPowerState](kernel/ioaudiodevice/1811807-protectedsetpowerstate.md)
- [removeAllTimerEvents](kernel/ioaudiodevice/1811813-removealltimerevents.md)
- [removeTimerEvent](kernel/ioaudiodevice/1811823-removetimerevent.md)
- [setConfigurationApplicationBundle](kernel/ioaudiodevice/1811829-setconfigurationapplicationbundl.md)
- [setDeviceCanBeDefault](kernel/ioaudiodevice/1811833-setdevicecanbedefault.md)
- [setDeviceName](kernel/ioaudiodevice/1811841-setdevicename.md)
- [setDeviceShortName](kernel/ioaudiodevice/1811844-setdeviceshortname.md)
- [setFamilyManagePower](kernel/ioaudiodevice/1811848-setfamilymanagepower.md)
- [setIdleAudioSleepTime](kernel/ioaudiodevice/1811852-setidleaudiosleeptime.md)
- [setManufacturerName](kernel/ioaudiodevice/1811862-setmanufacturername.md)
- [setPowerState](kernel/ioaudiodevice/1811867-setpowerstate.md)
- [setPowerStateAction](kernel/ioaudiodevice/1811878-setpowerstateaction.md)
- [start](kernel/ioaudiodevice/1811891-start.md)
- [stop](kernel/ioaudiodevice/1811898-stop.md)
- [timerFired](kernel/ioaudiodevice/1811908-timerfired.md)
- [waitForPendingPowerStateChange](kernel/ioaudiodevice/1811913-waitforpendingpowerstatechange.md)
