Inside Macintosh: QuickTime Reference
| Previous | Chapter Contents | Chapter Top | Next |
The extended forms of the SoundComponentData and SoundParamBlock records are all with which a sound decompressor implementer need be concerned.
However, to allow for the passing of these extended fields to the sound channel, a new flavor of ScheduledSoundHeader is introduced.
This is called an ExtendedScheduledSoundHeader. Like the ScheduledSoundHeader, this record is passed as a parameter to the scheduledSoundCmd sound command.
Note: The ScheduledSoundHeader and scheduledSoundCmd are available with Sound Manager 3.3 or later and when QuickTime is installed.
By way of quick review, ScheduledSoundHeader is defined like this:
struct ScheduledSoundHeader {and consists of the following fields:
The sound clock associated with the channel is used to determine when it should be played.
To these fields, extended fields are added. The ExtendedScheduledSoundHeader definition including both older and newer fields is shown as follows:
struct ExtendedScheduledSoundHeader {The extended fields consist of:
Finally, to determine if a ScheduledSoundHeader is an ExtendedScheduledSoundHeader, you can check for this additional flag in its flags field.
kScheduledSoundExtendedHdr = 1 << 2If clear, this is a classic ScheduledSoundHeader. If set, this is an ExtendedScheduledSoundHeader and at least contains the recordSize and extendedFlags fields. (It includes a bufferSize field, since this is the first version of an ExtendedScheduledSoundHeader.)
Inside Macintosh: QuickTime Reference
| Previous | Chapter Contents | Chapter Top | Next |