Example #1
0
 /**
  * Writes the object data.
  *
  * @param HausDesign_Io_Writer $writer The writer object.
  * @return void
  */
 public function write($writer)
 {
     require_once 'HausDesign/Io/StringWriter.php';
     $name = iconv($this->getOption('encoding'), 'utf-16le', $this->_name) . "";
     $markersCount = count($this->_markers);
     $markersWriter = new HausDesign_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());
 }