Data Reference Box contains a table of data references (normally * URLs) that declare the location(s) of the media data used within the * presentation. The data reference index in the sample description ties entries * in this table to the samples in the track. A track may be split over several * sources in this way. * * This box may either contain {@link Zend_Media_Iso14496_Box_Urn urn} or * {@link Zend_Media_Iso14496_Box_Url url} boxes. * * @category Zend * @package Zend_Media * @subpackage ISO 14496 * @author Sven Vollbehr * @copyright Copyright (c) 2005-2009 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License * @version $Id$ */ final class Zend_Media_Iso14496_Box_Dref extends Zend_Media_Iso14496_FullBox { /** * Constructs the class with given parameters and reads box related data * from the ISO Base Media file. * * @param Zend_Io_Reader $reader The reader object. * @param Array $options The options array. */ public function __construct($reader = null, &$options = array()) { parent::__construct($reader, $options); $this->setContainer(true); if ($reader === null) { return; } $this->_reader->skip(4); $this->constructBoxes(); } /** * Returns the box heap size in bytes. * * @return integer */ public function getHeapSize() { return parent::getHeapSize() + 4; } /** * Writes the box data. * * @param Zend_Io_Writer $writer The writer object. * @return void */ protected function _writeData($writer) { parent::_writeData($writer); $writer->writeUInt32BE($this->getBoxCount()); } }