Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
README.txt
README - AudioCodec |
This is a Sound Manager codec example. It will create a compressor and |
decompressor supporting the uLaw format. This compressor is a built-in |
codec already present in the Sound Manager. To install this example it |
would require the version to be greater than the one already installed |
by the Sound Manager. The example has a high version of 5.0 only for |
this reason. |
Use the latest QuickTime interfaces, which includes the "ComponentIncludes" headers. |
Keep your data in the component globals long word aligned for best performance. |
The kSoundComponentManufacturer is set to '????' and should be set to |
your company's four char code. It's up to you to create this. |
Your compression format needs a new four char code as well. The constant |
kCodecFormat is where you define this. You should report your format to |
Apple so that it can be included in the Sound Manager interfaces. Note |
that all lower-case codes are reserved for Apple's use. Your code must |
have at least one non-lowercase character. |
A set of tables has been used to improve the performance of these codecs. |
These tables are created as resources, which get loaded by the component's |
Open method. Then they're used as part of the globals. Using a resource |
in this manner avoids the difficulties of creating static globals which |
require dependacies on the target OS runtime. |
Windows only |
You will need to open the .mak file as a MSDEV project, and then modify |
the include paths and library paths by hand (Build/Settings) to match |
wherever it is that you have your headers and libs. Don't forget to |
modify the include paths on the Rez command line in the Custom Build |
settings for uLawCodec.r (both Release and Debug). On that same command |
line, you will also need to put in the full path to Rez.exe on your system. |
Mac only |
Linker gives the warning, "entry-point __uLawDecompComponentDispatchRD is |
not a descriptor". This is normal due to the nature of creating PowerPC |
components. The entry point of a component has to be a RoutineDescriptor, |
which is a structure, not code. |
You can build a debug and a release version of the codec. To build both |
choose "Build All" as the current target. |
Once the codec is built, you can drag it to the "Reinstaller" utility or |
restart your system with the codec in the extensions folder. |
Source level debugging is a little bit of a challenge. Since the Sound |
Manager runs at interrupt level, you cannot source level debug the code. |
You can use MoviePlayer to "Export" a sound file which does not run at |
interrupt level. Choose the target such as "Compressor PPC Debug" and then |
"Run" and set your break points. Drag the built codec file to Reinstaller |
to install the new component. Open an AIFF file (or any movie file with |
audio) in MoviePlayer and then choose Export. Select your codec as the |
compressor type. |
Enjoy, |
QuickTime Team |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14