System information
on the system. (r. 2764738).
Fixed an intermittent bug where the HAL could occasionally call a driver's performClientIO with invalid
parameters. (r. 2974014).
A new API for enabling/disabling streams by way of kAudioDevicePropertyIOProcStreamUsage. Now, if an
IOAudioEngine has multiple IOAudioStreams, a client of the Audio HAL can indicate that it only wants to read or
write a subset of those streams. (r. 2829849).
Fixed a memory leak that could occur each time the physical format of a stream is changed. (r. 2802833).
Fixed bug where the volume of the USB audio device was being reset to 0 while speakers are being plugged in. (r.
2779726).
Reduced the probability of choppy sound occurring when running the HAL at buffer sizes lower than 48 frames per
buffer. (r. 2728301).
Added the new device properties kAudioDevicePropertyTransportType and kAudioStreamPropertyTerminalType
that can be used to discover what the transport (USB, FireWire, etc) type is for a device and the kinds of
functionality that are available for each stream. (r. 2724935).
Back to top
Audio Toolbox
Contains APIs for AUGraph and MusicToolbox. The AUGraph is a high-level representation of a set of AudioUnits, along with
the connections between them. You can use these APIs to construct arbitrary signal paths through which audio may be
processed, i.e., a modular routing system. The APIs deal with large numbers of AudioUnits and their relationships. The
MusicPlayer APIs provide the services of a sequencing toolbox. This toolbox is where events can be collected into tracks,
and tracks can be copied, pasted, and looped within a sequence.
A problem where AUGraph calls could return the value -1 instead of a more informative result code when
reporting error conditions has been corrected. (r. 2886642).
Callbacks in audio headers are now defined using typedefs, which improves compatibility with C users (as opposed
to C++ users). (r. 2781424).
A problem where changing audio formats during audio playback could cause a kernel panic has been fixed. (r.
2762544).
Built-in audio drivers are now able to report latency. (r. 2652057).
The new /Library/Audio/Plugin directory has been added as a place to put MAS audio processing plugins. (r.
2935066).
A number of factory preset properties for audio units were added to the headers in classinfo format. (r.
2934717).
A memory leak in MusicSequenceLoadSMF was corrected. (r. 2848166).
A problem where calling IOAudioLevelControl::create with a subtype of 0 would return an incorrect subtype has
been fixed. (r. 2841871).
Fixed FSSpec problems with AudioToolbox.framework function MusicSequenceSaveSMF. Now this function works as
expected. (r. 2840253).
A new createOutputSelector method has been added to IOAudioSelectorControl.h. (r. 2838912).
A problem where software-controlled input gain only affected the right channel on certain machines has been fixed.
(r. 2781825).
AppleUSBAudio now includes AC-3 support. (r. 2764825).
Back to top
MIDI
This section discusses changes and new features in Mac OS X 10.2 related to MIDI.
A problem in MIDIEndpointGetEntity() where it could return a successful status result in cases where it failed has
been corrected. (r. 2969576).
A number of bugs in the, SampleUSBDriver, shared source MIDI developers often use to build vendor-specific
drivers have been corrected. (r. 2953808).