/** * Constructs the class with given parameters and options. * * @param Zend_Io_Reader $reader The reader object. * @param Array $options The options array. */ public function __construct($reader, &$options = array()) { $this->_reader = $reader; $this->_options =& $options; if (($this->_reader = $reader) === null) { if (defined($constant = 'self::' . strtoupper(preg_replace('/(?<=[a-z])[A-Z]/', '_$0', substr(get_class($this), 22))))) { $this->_identifier = constant($constant); } else { throw new Zend_Media_Asf_Exception('Object identifier could not be determined'); } } else { $this->_offset = $this->_reader->getOffset(); $this->_identifier = $this->_reader->readGuid(); $this->_size = $this->_reader->readInt64LE(); } }