/* @(#)package-info.java * * Copyright (c) 2002-2012 Werner Randelshofer, Goldau, Switzerland. * All rights reserved. * * You may not use, copy or modify this file, except in compliance with the * license agreement you entered into with Werner Randelshofer. * For details see accompanying license terms. */ /** * Provides media handlers for the QuickTime file format. * * <h2>Overview of the QuickTime movie file format</h2> * <p> * A QuickTime movie has a time dimension defined by a time scale and a duration. * A movie always starts at time 0. The time scale defines the unit of measure * for the movie's time value. The duration specifies how long the movie lasts. * </p> * <pre> * Movie time: 0 1 2 3 4 5 6 7 ... 20 * +---+---+---+---+---+---+---+---+---+---+ * Movie time unit: -->| |<-- For example: 1/60 sec. * Movie duration: <---------------------------------------> For example: 20 time units. * </pre> * <p> * A movie can contain one or more tracks. Each track refers to a media that * can be interpreted within the movie's time coordinate system. Each track * begins at the beginning of the movie. However, a track can end at any time. * In addition the media in the track may be offset from the beginning * of the movie. Tracks with media that does not commence at the beginning * of a movie start with an empty edit entry. * </p> * <pre> * Movie time: 0 1 2 3 4 5 6 7 ... 20 * +---+---+---+---+---+---+---+---+---+---+ * Track 1 (movie video): XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX * Track 2 (movie audio): XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX * Track 3 (preview audio): ----XXXXXXXXXXXXX * Track 4 (poster graphics): ----X * -->| |<-- track start time offset * </pre> * <p> * A track is always associated with one media. The media contains control * information that refers to the data that constitutes the track. Each media * has its own time coordinate system, which defines the media's time scale * and duration. A media's time coordinate system always starts at time 0, and * it is independend of the time coordinate system of the movie that uses its * data. * </p> * <pre> * Media 1 (movie video): 0 1 2 3 4 5 6 7 ... 40 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX * * Media 2 (movie audio): 0 1 2 3 4 5 6 7 ... 23 * +--+--+--+--+--+--+--+--+--+--+--+--+--+- * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX * * Media 3 (preview audio): 0 1 2 * +--+--+ * XXXXXXX * * Media 4 (poster graphics): 0 * + * X * </pre> * <p> * The track contains a list of references that identify portions of the media * that are used in the track. In essence, this is an edit list of the media. * Consequently a track can play the data in its media in any order and any * number of times. * </p> * <pre> * Edit List 3 (preview audio): 0 1 2 3 4 * +--+--+--+--+ * ---abcccafgab * * Media 3 (preview audio): 0 1 2 * +--+--+ * abcdefg * </pre> * <p> * A media describes the data for a track. The data is not actually stored in * the media. Rather, the media contains references to its data. The data * may reside in the movie file or in an external storage. The data referred * to by the media may be used by more than one movie, though the media itself * is not reused. If the data is stored in the movie, the samples of the * media data can be interleaved with each other. Interleaving can occur * after each sample, or after a chunk of samples. * </p> * <pre> * Media 1 to 4 interleaved data: 1112221112221112221113332224 * </pre> * <p> * For more information about the QuickTime file format see the * "QuickTime File Format Specification", Apple Inc. 2010-08-03. (qtff) * <a href="http://developer.apple.com/library/mac/documentation/QuickTime/QTFF/qtff.pdf/"> * http://developer.apple.com/library/mac/documentation/QuickTime/QTFF/qtff.pdf * </a> * </p> * * @author Werner Randelshofer * @version $Id: package-info.java 299 2013-01-03 07:40:18Z werner $ */ package org.monte.media.quicktime;