Chunk Offset Box table gives the index of each chunk into the * containing file. There are two variants, permitting the use of 32-bit or * 64-bit offsets. The latter is useful when managing very large presentations. * At most one of these variants will occur in any single instance of a sample * table. * * Offsets are file offsets, not the offset into any box within the file (e.g. * {@link ISO14496_Box_MDAT Media Data Box}). This permits referring to media * data in files without any box structure. It does also mean that care must be * taken when constructing a self-contained ISO file with its metadata * ({@link ISO14496_Box_MOOV Movie Box}) at the front, as the size of the * {@link ISO14496_Box_MOOV Movie Box} will affect the chunk offsets to the * media data. * * This box variant contains 32-bit offsets. * * @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$ */ final class ISO14496_Box_STCO extends ISO14496_Box_Full { /** @var Array */ private $_chunkOffsetTable = array(); /** * 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) { parent::__construct($reader); $entryCount = $this->_reader->readUInt32BE(); for ($i = 0; $i < $entryCount; $i++) $this->_chunkOffsetTable[] = array ("chunkOffset" => $this->_reader->readUInt32BE()); } /** * Returns an array of values. Each entry is an array containing the following * keys. * o chunkOffset -- a 32 bit integer that gives the offset of the start of a * chunk into its containing media file. * * @return Array */ public function getChunkOffsetTable() { return $this->_chunkOffsetTable; } }