/** * Writes the object data. * * @param Zend_Io_Writer $writer The writer object. * @return void */ public function write($writer) { require_once 'Zend/Io/StringWriter.php'; $name = iconv($this->getOption('encoding'), 'utf-16le', $this->_name) . ""; $markersCount = count($this->_markers); $markersWriter = new Zend_Io_StringWriter(); for ($i = 0; $i < $markersCount; $i++) { $markersWriter->writeInt64LE($this->_markers[$i]['offset'])->writeInt64LE($this->_markers[$i]['presentationTime'])->writeUInt16LE(12 + ($descriptionLength = strlen($description = iconv('utf-16le', $this->getOption('encoding'), $this->_markers[$i]['description']) . "")))->writeUInt32LE($this->_markers[$i]['sendTime'])->writeUInt32LE($this->_markers[$i]['flags'])->writeUInt32LE($descriptionLength)->writeString16($description); } $this->setSize(24 + 24 + strlen($name) + $markersWriter->getSize()); $writer->writeGuid($this->getIdentifier())->writeInt64LE($this->getSize())->writeGuid($this->_reserved1)->writeUInt32LE($markersCount)->writeUInt16LE($this->_reserved2)->writeUInt16LE(strlen($name))->writeString16($name)->write($markersWriter->toString()); }