What's New in QuickTime 4.1
| 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 {
SoundHeaderUnion u;
long flags;
short reserved;
short callBackParam1;
long callBackParam2;
TimeRecord startTime;
};
typedef struct ScheduledSoundHeader ScheduledSoundHeader;
typedef ScheduledSoundHeader *
ScheduledSoundHeaderPtr;
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 {
SoundHeaderUnion u;
long flags;
short reserved;
short callBackParam1;
long callBackParam2;
TimeRecord startTime;
long recordSize;
long extendedFlags;
long bufferSize;
};
typedef struct ExtendedScheduledSoundHeader 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 << 2
If 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 .)
| Previous | Chapter Contents | Chapter Top | Next |