Timecode media allows QuickTime movies to store additional timing information that is not created by or for QuickTime. This additional timing information is typically derived from the original source material for example, SMPTE timecode or audio sample rate. In essence, you can think of a timecode media as providing a link between QuickTime–specific timing information and the original timing information from the source material.
The TimeCodeDescription QuickTime structure contains control information that allows QuickTime to interpret the samples. This includes the timecode format information. The actual sample data contains a frame number that identifies one or more content frames that use this timecode. This value identifies the first frame in the group of frames that use this timecode. In the case of a movie made from source material that contains no edits, you would only need one sample. When the source material contains edits, you typically need one sample for each edit, so that QuickTime can resynchronize the timecode information with the movie. Those samples contain the frame numbers of the frames that begin each new group of frames.
QuickTime has supplied a Timecode Media Handler supporting a 32–bit counter since the release of QuickTime 2.0. With the release of QuickTime 7.3, a new Timecode Media Handler has been added supporting 64–bit counter values. The new timecode media type can therefore be used in situations where the older TimeCodeMediaType would fail due to its 32–bit counter limit. For example, for audio sampled above 48kHz a 32–bit counter is insufficient to store all timecode values that are valid within a range of 24 hours.
The QTPlgTimeCode64Desc class provides you with properties and methods that let you whether access or create new instances of such a QuickTime description structure.
→ → →
The QTPlgTimeCode64Desc class constructors are called when you create a new instance of the class, while the ˜QTPlgTimeCode64Desc class destructor, is called automatically when the class is no more in use. Also, you can invoke the class destructor by setting the instance of the class to nil.
Once a new class instance is returned, it is good practice to check the class property to be sure that the new object can be used. See the validity requirements for more details.
The class provides you with the following initializer methods: