Media Layer

By: Mike Yocom - Revised: 2006-06-06 devin

Introduction

Discusses Mac OS X's multimedia technology including audio, OpenGL, QuickTime, and Quartz.

Section Links

  1. Audio
  2. OpenGL
  3. QuickTime
  4. Quartz

Audio


Mac OS X's Audio Hardware Abstraction Layer (HAL) delivers some of the most robust audio technologies available on any computer platform.

Latency — the delay that occurs as audio enters the computer from the recording device, travels through the system, and then back out the speakers — in the classic Mac OS was considered excellent at 10 ms. Mac OS X improves on this greatly — some tests report latency as low as 1 ms, ten times as good as in the classic Mac OS.

At the same time the number of channels have been increased from two — stereophonic sound — to theoretically as many as an output device can support. Applications can also share output devices. For example: one application could be assigned to use four channels of a six-channel device, and a second application could be assigned to the other two channels.

Mac OS X raises the bar for audio quality, as well — as high as 24-bit, 96 kHz. Even better, the Core Audio treats audio as 32-bit, floating-point data, so that higher audio resolutions can be implemented in the future.

Musical Instrument Digital Interface (MIDI) is also very well supported in Mac OS X. This includes integration of MIDI services into the operating system as well as the inclusion of Audio MIDI Setup — an application to easily define system-wide MIDI settings.

Finally, Mac OS X includes an architecture to easily add in audio plug-ins that could be used by any audio editing application. "Audio Units" can be added (by an admin) just by dragging and dropping them into /Library/Audio/Plug-Ins.

OpenGL


Open Graphics Library (OpenGL) is one of three multimedia technologies built into Mac OS X. OpenGL is a powerful technology for three-dimensional graphics, and is used by programs ranging from the Academy Award® winning Maya to the latest 3D games.

OpenGL is an open standard, which means that no one company controls its specifications or the direction of its development. Because it's open, it's also easier for new functionality to be added to OpenGL, quickly extending the standard to take advantage of new hardware. This means that new graphics cards, regardless of which company built them, will be supported. Programmers using OpenGL don't need to know which model of graphics card is being used, or write specific routines for every card they want to support, simplifying the process of software development.

QuickTime


QuickTime is the rich multimedia system in Mac OS X. QuickTime itself is a media file format, and has been adopted by the Moving Picture Experts Group (MPEG) — a group within the International Organization for Standardization (ISO) — for the new MPEG-4 format.

Integration of QuickTime into Mac OS X's media layer allows for very powerful multimedia support for applications. One nice feature is that Column View in the Mac OS X Finder can display a preview of any any file supported by QuickTime, allowing users to find a particular file without having to open every candidate in a player program.

Integration of QuickTime into Mac OS X's media layer also enables support for a wide range of file formats. The most notable are: MPEG, MPEG-2 (DVD video), MPEG-4, MOV, 3GPP, MP3, AIFF, AU, MIDI, WAV, BMP, GIF, JPEG, PNG, TIFF, and VR.

Quartz

Quartz — "Quartz Extreme" in Mac OS X 10.2 "Jaguar" — is the Mac OS X windowing system. Quartz is based on the Portable Document Format (PDF), provides a powerful, two-dimensional graphics system, and pulls 2D, 3D, and multimedia content all together.

Quartz also allows Mac OS X's interface to use anti-aliased text — smooth instead of blocky — drop shadows, and transparency. Quartz Extreme in Jaguar uses OpenGL to greatly speed up system performance on computers with graphics cards that have at least 16 MB of video memory.

Because Quartz is based on PDF, every document that can be printed can be turned into a PDF in Mac OS X 10.2.x. All a user has to do is select Print from the File menu and click the "Save as PDF…" button.