Many companies with hardware products such as video boards, video laser discs, VCRs, compressor boards, and so on, will provide QuickTime components (drivers meeting QuickTime's API specifications). These components provide QuickTime with the code needed to control the device. To some extent, this is similar to how the AppleTalk Manager needn't "know" how to interact with a specific hardware layer because the Link Access Protocol (LAP), and sometimes AppleTalk Address Resolution Protocol (AARP) layers handle it.
Just as AppleTalk programmers aren't concerned with the details of sending and receiving packets over LocalTalk, Ethernet, Token Ring, and so on, software that supports QuickTime isn't concerned with the details of controlling a Sony EVO 9650 Hi8 Edit VCR, or a Truevision NuVista+ video board. These applications only have to know that they're interacting with devices having certain functional characteristics. Some examples of those characteristics include:
- Playing a video segment, stopping, pausing, putting in fast forward or fast rewind mode, and possessing addressable frames.
- Capturing frames (single or sequence).
- Supporting actions such as fade in, fade out, chroma-keying, and so on.
Although all of this information relates to video and video equipment, please note that QuickTime isn't limited to video and/or audio applications. Controlled devices could include scientific and manufacturing equipment.
The important thing to remember about QuickTime is that it is a developer-level technology. It provides software developers with a high-level API for dealing with time-dependent data and devices. It also provides a flexible file format for storing time-dependant data.