Documentation Archive Developer
Search

ADC Home > Reference Library > Technical Q&As > Legacy Documents > QuickTime >

Legacy Documentclose button

Important: This document is part of the Legacy section of the ADC Reference Library. This information should not be used for new development.

Current information on this Reference Library topic can be found here:

Preroll Movies

It is of utmost importance that you preroll your movies using the PrerollMovie call. Failing to do so will introduce playback problems, especially when the movie starts. PrerollMovie will fill caches and buffers optimally to prevent initial playback stuttering.

Note that StartMovie will preroll the movie; also, the standard controller prerolls the movie whenever the user starts a movie using the keyboard or the mouse. In these situations, a possible second PrerollMovie call is redundant and will waste time and resources.

In all other cases, you should preroll the movie. For instance, it is your responsibility to call PrerollMovie if you are using SetMovieRate, or if you use McDoAction with mcActionPlay and a rate. Here's an example of how to use PrerollMovie:

OSErr DoPrerollMovie(Movie    theMovie)
{
    TimeValue         aTimeValue;
    TimeValue         aMovieDur;
    Fixed             aPreferredRate;
    OSErr            anErr = noErr;

    aTimeValue     = GetMovieTime(theMovie, nil);
    aMovieDur    = GetMovieDuration(theMovie);
    aPreferredRate = GetMoviePreferredRate(theMovie);

    anErr = PrerollMovie(theMovie, aTimeValue, aPreferredRate);

    return anErr;
}

[May 01 1995]