IOAudioTypes.h User-Space Reference

Declared in
IOAudioTypes.h

Overview

Included Headers

  • <libkern/OSTypes.h>

  • <mach/message.h>

  • <device/device_types.h>

Data Types

See the Overview for header-level documentation.

IOAudioControlCalls

The set of constants passed to IOAudioControlUserClient::getExternalMethodForIndex() when making calls from the IOAudioFamily user client code.

typedef enum _IOAudioControlCalls {
   kIOAudioControlCallSetValue = 0,
   kIOAudioControlCallGetValue = 1
} IOAudioControlCalls;
Constants
kIOAudioControlCallSetValue

Used to set the value of an IOAudioControl.

Available in OS X v10.1 and later.

Declared in IOAudioTypes.h.

kIOAudioControlCallGetValue

Used to get the value of an IOAudioControl.

Available in OS X v10.1 and later.

Declared in IOAudioTypes.h.

Availability
  • Available in OS X v10.1 and later.
Declared In
IOAudioTypes.h

IOAudioControlNotifications

The set of constants passed in the type field of IOAudioControlUserClient::registerNotificaitonPort().

typedef enum _IOAudioControlNotifications {
   kIOAudioControlValueChangeNotification = 0,
   kIOAudioControlRangeChangeNotification = 1
} IOAudioControlNotifications;
Constants
kIOAudioControlValueChangeNotification

Used to request value change notifications.

Available in OS X v10.1 and later.

Declared in IOAudioTypes.h.

kIOAudioControlRangeChangeNotification

Used to request range change notifications.

Available in OS X v10.2 and later.

Declared in IOAudioTypes.h.

Availability
  • Available in OS X v10.1 and later.
Declared In
IOAudioTypes.h

IOAudioEngineCalls

The set of constants passed to IOAudioEngineUserClient::getExternalMethodForIndex() when making calls from the IOAudioFamily user client code.

typedef enum _IOAudioEngineCalls {
   kIOAudioEngineCallRegisterClientBuffer = 0,
   kIOAudioEngineCallUnregisterClientBuffer = 1,
   kIOAudioEngineCallGetConnectionID = 2,
   kIOAudioEngineCallStart = 3,
   kIOAudioEngineCallStop = 4,
   kIOAudioEngineCallGetNearestStartTime = 5
} IOAudioEngineCalls;
Availability
  • Available in OS X v10.1 and later.
Declared In
IOAudioTypes.h

IOAudioEngineMemory

Used to identify the type of memory requested by a client process to be mapped into its process space

typedef enum _IOAudioEngineMemory {
   kIOAudioStatusBuffer = 0,
   kIOAudioSampleBuffer = 1,
   kIOAudioMixBuffer = 2,
   kIOAudioBytesInInputBuffer = 3,
   kIOAudioBytesInOutputBuffer = 4
} IOAudioEngineMemory;
Constants
kIOAudioSampleBuffer

This requests the IOAudioEngine's sample buffer

Available in OS X v10.2 and later.

Declared in IOAudioTypes.h.

kIOAudioStatusBuffer

This requests the IOAudioEngine's status buffer. It's type is IOAudioEngineStatus.

Available in OS X v10.2 and later.

Declared in IOAudioTypes.h.

kIOAudioMixBuffer

This requests the IOAudioEngine's mix buffer

Available in OS X v10.2 and later.

Declared in IOAudioTypes.h.

Discussion

This is the parameter to the type field of IOMapMemory when called on an IOAudioEngine. This is only intended for use by the Audio Device API library.

Availability
  • Available in OS X v10.1 and later.
Declared In
IOAudioTypes.h

IOAudioEngineState

Represents the state of an IOAudioEngine

typedef enum _IOAudioEngineState {
   kIOAudioEngineStopped = 0,
   kIOAudioEngineRunning = 1,
   kIOAudioEnginePaused = 2,
   kIOAudioEngineResumed = 3
} IOAudioEngineState;
Constants
kIOAudioEngineRunning

The IOAudioEngine is currently running - it is transferring data to or from the device.

Available in OS X v10.1 and later.

Declared in IOAudioTypes.h.

kIOAudioEngineStopped

The IOAudioEngine is currently stopped - no activity is occurring.

Available in OS X v10.1 and later.

Declared in IOAudioTypes.h.

Availability
  • Available in OS X v10.1 and later.
Declared In
IOAudioTypes.h

IOAudioEngineStatus

Shared-memory structure giving audio engine status

typedef struct _IOAudioEngineStatus {
      UInt32 fVersion;
      volatile UInt32 fCurrentLoopCount;
      volatile AbsoluteTime fLastLoopTime;
      volatile UInt32 fEraseHeadSampleFrame;
} IOAudioEngineStatus;
Availability
  • Available in OS X v10.1 and later.
Declared In
IOAudioTypes.h

IOAudioNotificationMessage

Used in the mach message for IOAudio notifications.

typedef struct _IOAudioNotificationMessage {
      mach_msg_header_t messageHeader;
      UInt32 type;
      UInt32 ref;
      void *sender;
} IOAudioNotificationMessage;
Availability
  • Available in OS X v10.1 and later.
Declared In
IOAudioTypes.h

IOAudioSMPTETime

A structure for holding a SMPTE time.

typedef struct _IOAudioSMPTETime {
      SInt16 fSubframes;
      SInt16 fSubframeDivisor;
      UInt32 fCounter;
      UInt32 fType;
      UInt32 fFlags;
      SInt16 fHours;
      SInt16 fMinutes;
      SInt16 fSeconds;
      SInt16 fFrames;
} IOAudioSMPTETime;
Availability
  • Available in OS X v10.3 and later.
See Also
Declared In
IOAudioTypes.h

IOAudioStreamDirection

Represents the direction of an IOAudioStream

typedef enum _IOAudioStreamDirection {
   kIOAudioStreamDirectionOutput = 0,
   kIOAudioStreamDirectionInput = 1
} IOAudioStreamDirection;
Constants
kIOAudioStreamDirectionOutput

Output buffer

Available in OS X v10.1 and later.

Declared in IOAudioTypes.h.

kIOAudioStreamDirectionInput

Input buffer

Available in OS X v10.1 and later.

Declared in IOAudioTypes.h.

Availability
  • Available in OS X v10.1 and later.
Declared In
IOAudioTypes.h

SMPTETime

A structure for holding a SMPTE time.

typedef struct _IOAudioSMPTETime {
      SInt16 fSubframes;
      SInt16 fSubframeDivisor;
      UInt32 fCounter;
      UInt32 fType;
      UInt32 fFlags;
      SInt16 fHours;
      SInt16 fMinutes;
      SInt16 fSeconds;
      SInt16 fFrames;
} IOAudioSMPTETime;
Availability
  • Available in OS X v10.3 and later.
Declared In
IOAudioTypes.h

Constants

See the Overview for header-level documentation.

Defines

   
#define kIOAudioControlNumCalls 2
#define kIOAudioEngineDefaultMixBufferSampleSize sizeof(float)
#define kIOAudioEngineNumCalls 6
Constants
kIOAudioControlNumCalls

The number of elements in the IOAudioControlCalls enum.

Available in OS X v10.1 and later.

Declared in IOAudioTypes.h.

kIOAudioEngineDefaultMixBufferSampleSize

Available in OS X v10.1 and later.

Declared in IOAudioTypes.h.

kIOAudioEngineNumCalls

The number of elements in the IOAudioEngineCalls enum.

Available in OS X v10.1 and later.

Declared in IOAudioTypes.h.