Sample Table Box contains all the time and data indexing of the * media samples in a track. Using the tables here, it is possible to locate * samples in time, determine their type (e.g. I-frame or not), and determine * their size, container, and offset into that container. * * If the track that contains the Sample Table Box references no data, then the * Sample Table Box does not need to contain any sub-boxes (this is not a very * useful media track). * * If the track that the Sample Table Box is contained in does reference data, * then the following sub-boxes are required: {@link ISO14496_Box_STSD Sample * Description}, {@link ISO14496_Box_STSZ Sample Size}, * {@link ISO14496_Box_STSC Sample To Chunk}, and {@link ISO14496_Box_STCO Chunk * Offset}. Further, the {@link ISO14496_Box_STSD Sample Description Box} shall * contain at least one entry. A Sample Description Box is required because it * contains the data reference index field which indicates which * {@link ISO14496_Box_DREF Data Reference Box} to use to retrieve the media * samples. Without the Sample Description, it is not possible to determine * where the media samples are stored. The {@link ISO14496_Box_STSS Sync Sample * Box} is optional. If the Sync Sample Box is not present, all samples are sync * samples. * * @package php-reader * @subpackage ISO 14496 * @author Sven Vollbehr * @copyright Copyright (c) 2008 The PHP Reader Project Workgroup * @license http://code.google.com/p/php-reader/wiki/License New BSD License * @version $Rev: 92 $ */ final class ISO14496_Box_STBL extends ISO14496_Box { /** * Constructs the class with given parameters and reads box related data from * the ISO Base Media file. * * @param Reader $reader The reader object. */ public function __construct($reader = null, &$options = array()) { parent::__construct($reader, $options); $this->setContainer(true); if ($reader === null) return; $this->constructBoxes(); } }