---
title: init
framework: kernel
role: pseudoSymbol
path: kernel/ioaudioengine/1812194-init
---

# init

Performs initialization of a newly allocated IOAudioEngine.

## Declaration

```occ
virtual bool init(
 OSDictionary *properties); 
```

## Parameters

- `properties`: The default properties for the IOAudioEngine.

## Return Value

Return Value Returns true if initialization was successful.

## Overview

Overview This function is responsible for initialization of all of the general attributes of a new IOAudioEngine. It initializes instance variables to their default values and allocates the shared status buffer. Subclasses will likely want to override this method and do all of their common initialization in their implementation. They do need to be sure to call IOAudioEngine's implementation of init and pay attention to the return value.

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