Jump To:
Leopard Reference Library: Hardware & Drivers
Core Audio's Hardware Abstraction Layer (HAL) acts as the interface between an audio device driver and an audio application. The HAL supports native multichannel audio in a manner that is scalable to future high-resolution formats. Developers can create audio devices compatible with Apple products and use HAL and I/O Kit APIs to create software to access audio devices.

View all Audio Reference Library.
Document Descriptions
On Off
Display

Sorted by
Title
Sort by
Resource Type
Sort by
Date
Allocating and sharing memory with user space from an I/O Kit driver (HTML) (日本語 HTML)
QA1197: Describes the preferred technique for allocating and sharing buffers in an I/O Kit kernel driver.
Technical Q&As 2008-10-13
AppleFWAudio Vendor Specific Override Driver (HTML) (DMG) (ZIP)
This KEXT allows third-party vendors to customize AppleFWAudio with their own device-specific information.
Sample Code 2007-06-01
Are the Name Registry device tree nodes unique? (HTML)
Deprecated - HW64: Discusses whether Name Registry nodes copied from the Open Firmware device tree are unique.
Technical Q&As 1999-10-11
Audio Developer Note (HTML)
Describes the analog and digital audio capabilities of Mac computers.
Guides 2008-04-28
Audio Device Driver Programming Guide (HTML) (PDF)
Explains how to develop kernel-resident drivers for audio devices.
Guides 2009-03-04
AudioCDSample (HTML) (DMG) (ZIP)
Demonstrates how to discover audio CDs and access the TOC information presented by the CD-DA filesystem.
Sample Code 2005-10-04
Available FireWire Isochronous Bandwidth (HTML)
QA1356: Discusses attempting to "pre-flight" an isochronous bandwidth allocation request by reading the currently available bandwidth.
Technical Q&As 2004-07-07
Building Universal I/O Kit Drivers (HTML)
TN2163: How to build a universal I/O Kit kernel driver while avoiding common pitfalls.
Technical Notes 2008-08-18
Digital CD Audio (HTML) (日本語 HTML)
TN1187: Describes digital audio on the Macintosh.
Technical Notes 2000-04-01
FireWire Audio User Library Framework Reference (HTML)
Describes the API that supports user-space access to FireWire audio devices and enables the creation of virtual FireWire audio devices.
Reference 2008-04-08
Generating a Non-Maskable Interrupt (NMI) (HTML) (日本語 HTML)
QA1264: Explains how to generate a non-maskable interrupt (NMI) on modern Macintosh systems.
Technical Q&As 2008-10-13
I/O Kit Framework Reference (HTML)
Describes the I/O Kit classes that support non-kernel access to I/O Kit objects through the device-interface mechanism.
Reference 2009-03-04
Installing an I/O Kit KEXT Without Rebooting (HTML)
QA1319: Describes the state of the art of installing I/O Kit kernel extensions (KEXTs) without requiring a restart.
Technical Q&As 2003-10-28
IODeviceTree and the I/O Registry (HTML) (日本語 HTML)
QA1120: Describes the IODeviceTree plane in the Mac OS X I/O Registry.
Technical Q&As 2008-09-18
IOKit Framework Headers (HTML) (日本語 HTML)
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
Technical Q&As 2002-01-15
Kernel Framework Reference (HTML)
Describes the APIs and classes (including I/O Kit families) that support kernel-resident device drivers.
Reference 2009-01-06
New Sound Input Driver Features (HTML) (日本語 HTML)
Deprecated - TN1124: Describes the visible features and changes, in Mac OS 8.1, for PCI sound input drivers.
Technical Notes 1998-04-01
Obtaining the name of an external MIDI Device from a MIDI Endpoint (HTML)
QA1374: Get the names of external MIDI Devices from MIDI Endpoints.
Technical Q&As 2004-12-01
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Technical Q&As 2006-02-22
Power Management; Policy Maker vs. Power Controller (HTML) (日本語 HTML)
QA1121: Describes the differences between a Power Management Policy Maker and a Power Management Power Controller.
Technical Q&As 2002-02-13
Retain Counts of io_object_t Objects in IOKit.framework (HTML) (日本語 HTML)
QA1195: Distinguishes between the retain counts of an I/O Kit kernel object and its io_object_t user space proxy.
Technical Q&As 2008-09-24
SampleUSBAudioPlugin (HTML) (DMG) (ZIP)
USB audio plugin that performs a lowpass filtering operation on audio streamed through an audio USB Device.
Sample Code 2005-03-07
SimplePlayThru (HTML) (DMG) (ZIP)
Use the HAL's Audio Output Unit (AUHAL) for device input and output on a single device (play-thru)
Sample Code 2006-10-25
SimpleUserClient (HTML) (DMG) (ZIP)
Shows how to create a user client for an I/O Kit kernel driver.
Sample Code 2008-08-27
Understanding and Debugging Kernel Panics (HTML) (日本語 HTML)
TN2063: Addresses kernel panics: what they are and how to debug the code that caused the panic.
Technical Notes 2008-08-14
USBPrivateDataSample (HTML) (DMG) (ZIP)
Demonstrates notifications when a USB device is hotplugged and associating arbitrary data with each device.
Sample Code 2006-10-16
Using AudioDeviceRead in Mac OS 10.4 (HTML)
TN2113: How to use AudioBufferLists with AudioDeviceRead in Tiger and beyond.
Technical Notes 2006-11-29
What are configuration variables in Open Firmware? (HTML) (日本語 HTML)
HW38: Defines the configuration variables in Open Firmware.
Technical Q&As 1999-02-15