Beispiel #1
0
 /**
  * Writes the object data.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 public function write($writer)
 {
     if ($this->getSize() == 0) {
         $this->setSize(24);
     }
     $writer->writeGuid($this->getIdentifier())->writeInt64LE($this->getSize())->write(str_pad('', $this->getSize() - 24, ""));
 }
Beispiel #2
0
 /**
  * Writes the object data.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 public function write($writer)
 {
     $objectsWriter = new Zend_Io_StringWriter();
     foreach ($this->getObjects() as $objects) {
         foreach ($objects as $object) {
             $object->write($objectsWriter);
         }
     }
     $this->setSize(24 + 22 + $objectsWriter->getSize());
     $writer->writeGuid($this->getIdentifier())->writeInt64LE($this->getSize())->writeGuid($this->_reserved1)->writeUInt16LE($this->_reserved2)->writeUInt32LE($objectsWriter->getSize())->write($objectsWriter->toString());
 }
Beispiel #3
0
 /**
  * 
  * @param int $local_message_type
  * @param bool $is_definition
  * @param bool $is_normal_header
  * @return \Fit\Writer
  */
 protected function writeRecordHeaderByte($local_msg_type, $is_definition = false, $is_normal_header = true)
 {
     //write definition record
     //write definition record header byte
     $header_bits = array_merge(array_slice(self::inttobar($local_msg_type), 0, 4), array(false, false, (bool) $is_definition, false === (bool) $is_normal_header));
     $this->writer->writeUInt8(self::bartoint($header_bits));
     return $this;
 }
Beispiel #4
0
 /**
  * Constructs the Zend_Io_FileWriter class with given path to the file. By
  * default the file is opened in write mode without altering its content
  * (ie r+b mode if the file exists, and wb mode if not).
  *
  * @param string $filename The path to the file.
  * @throws Zend_Io_Exception if the file cannot be written
  */
 public function __construct($filename, $mode = null)
 {
     if ($mode === null) {
         $mode = file_exists($filename) ? 'r+b' : 'wb';
     }
     if (($fd = fopen($filename, $mode)) === false) {
         throw new Zend_Io_Exception('Unable to open file for writing: ' . $filename);
     }
     parent::__construct($fd);
 }
Beispiel #5
0
 /**
  * Writes the object data.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 public function write($writer)
 {
     $languageIdRecordsCount = count($this->_languages);
     $languageIdRecordsWriter = new Zend_Io_StringWriter();
     for ($i = 0; $i < $languageIdRecordsCount; $i++) {
         $languageIdRecordsWriter->writeInt8(strlen($languageId = iconv($this->getOption('encoding'), 'utf-16le', $this->_languages[$i]) . ""))->writeString16($languageId);
     }
     $this->setSize(24 + 2 + $languageIdRecordsWriter->getSize());
     $writer->writeGuid($this->getIdentifier())->writeInt64LE($this->getSize())->writeUInt16LE($languageIdRecordsCount)->write($languageIdRecordsWriter->toString());
 }
Beispiel #6
0
 /**
  * Writes the frame raw data without the header.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 protected function _writeData($writer)
 {
     $writer->writeString8($this->_owner, 1)->writeInt8($this->_rating);
     if ($this->_counter > 0xffffffff) {
         $writer->writeInt64BE($this->_counter);
     } else {
         if ($this->_counter > 0) {
             $writer->writeUInt32BE($this->_counter);
         }
     }
 }
Beispiel #7
0
 /**
  * Writes the object data.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 public function write($writer)
 {
     $writer->writeGuid($this->getIdentifier())->writeInt64LE($this->getSize())->write($this->_data);
 }
Beispiel #8
0
 /**
  * Writes the object data.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 public function write($writer)
 {
     require_once 'Zend/Io/StringWriter.php';
     $objectsWriter = new Zend_Io_StringWriter();
     foreach ($this->getObjects() as $objects) {
         foreach ($objects as $object) {
             $object->write($objectsWriter);
         }
     }
     $this->setSize(24 + 6 + $objectsWriter->getSize());
     $writer->writeGuid($this->getIdentifier())->writeInt64LE($this->getSize())->writeUInt32LE($this->getObjectCount())->writeInt8($this->_reserved1)->writeInt8($this->_reserved2)->write($objectsWriter->toString());
 }
 /**
  * Writes the frame raw data without the header.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 protected function _writeData($writer)
 {
     $writer->writeUInt8($this->_encoding);
     switch ($this->_encoding) {
         case self::UTF16LE:
             $count = count($this->_text);
             for ($i = 0; $i < $count; $i++) {
                 $writer->writeString16($this->_text, Zend_Io_Writer::LITTLE_ENDIAN_ORDER, $i == $count ? null : 1);
             }
             break;
         case self::UTF16:
             // break intentionally omitted
         // break intentionally omitted
         case self::UTF16BE:
             $writer->write(implode("", $this->_text));
             break;
         default:
             $writer->write(implode("", $this->_text));
             break;
     }
 }
Beispiel #10
0
 /**
  * Writes the frame raw data without the header.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 protected function _writeData($writer)
 {
     $writer->writeUInt8($this->_format);
     foreach ($this->_events as $timestamp => $type) {
         $writer->writeUInt8($type)->writeUInt32BE($timestamp);
     }
 }
 /**
  * Writes the object data.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 public function write($writer)
 {
     require_once 'Zend/Io/StringWriter.php';
     $typeSpecificData = new Zend_Io_StringWriter();
     switch ($this->_streamType) {
         case self::AUDIO_MEDIA:
             $typeSpecificData->writeUInt16LE($this->_typeSpecificData['codecId'])->writeUInt16LE($this->_typeSpecificData['numberOfChannels'])->writeUInt32LE($this->_typeSpecificData['samplesPerSecond'])->writeUInt32LE($this->_typeSpecificData['avgNumBytesPerSecond'])->writeUInt16LE($this->_typeSpecificData['blockAlignment'])->writeUInt16LE($this->_typeSpecificData['bitsPerSample'])->writeUInt16LE(strlen($this->_typeSpecificData['codecSpecificData']))->write($this->_typeSpecificData['codecSpecificData']);
             break;
         case self::VIDEO_MEDIA:
             $typeSpecificData->writeUInt32LE($this->_typeSpecificData['encodedImageWidth'])->writeUInt32LE($this->_typeSpecificData['encodedImageHeight'])->writeInt8($this->_typeSpecificData['reservedFlags'])->writeUInt16LE(0)->writeUInt32LE(38 + strlen($this->_typeSpecificData['codecSpecificData']))->writeUInt32LE($this->_typeSpecificData['imageWidth'])->writeUInt32LE($this->_typeSpecificData['imageHeight'])->writeUInt16LE($this->_typeSpecificData['reserved'])->writeUInt16LE($this->_typeSpecificData['bitsPerPixelCount'])->writeUInt32LE($this->_typeSpecificData['compressionId'])->writeUInt32LE($this->_typeSpecificData['imageSize'])->writeUInt32LE($this->_typeSpecificData['horizontalPixelsPerMeter'])->writeUInt32LE($this->_typeSpecificData['verticalPixelsPerMeter'])->writeUInt32LE($this->_typeSpecificData['colorsUsedCount'])->writeUInt32LE($this->_typeSpecificData['importantColorsCount'])->write($this->_typeSpecificData['codecSpecificData']);
             break;
         case self::JFIF_MEDIA:
             $typeSpecificData->writeUInt32LE($this->_typeSpecificData['imageWidth'])->writeUInt32LE($this->_typeSpecificData['imageHeight'])->writeUInt32LE(0);
             break;
         case self::DEGRADABLE_JPEG_MEDIA:
             $typeSpecificData->writeUInt32LE($this->_typeSpecificData['imageWidth'])->writeUInt32LE($this->_typeSpecificData['imageHeight'])->writeUInt16LE(0)->writeUInt16LE(0)->writeUInt16LE(0);
             $interchangeDataSize = strlen($this->_typeSpecificData['interchangeData']);
             if ($interchangeDataSize == 1) {
                 $interchangeDataSize = 0;
             }
             $typeSpecificData->writeUInt16LE($interchangeDataSize)->write($this->_typeSpecificData['interchangeData']);
             break;
         case self::FILE_TRANSFER_MEDIA:
             // break intentionally omitted
         // break intentionally omitted
         case self::BINARY_MEDIA:
             $typeSpecificData->writeGuid($this->_typeSpecificData['majorMediaType'])->writeGuid($this->_typeSpecificData['mediaSubtype'])->writeUInt32LE($this->_typeSpecificData['fixedSizeSamples'])->writeUInt32LE($this->_typeSpecificData['temporalCompression'])->writeUInt32LE($this->_typeSpecificData['sampleSize'])->writeGuid($this->_typeSpecificData['formatType'])->writeUInt32LE(strlen($this->_typeSpecificData['formatData']))->write($this->_typeSpecificData['formatData']);
             break;
         case self::COMMAND_MEDIA:
             // break intentionally omitted
         // break intentionally omitted
         default:
             break;
     }
     $errorCorrectionData = new Zend_Io_StringWriter();
     switch ($this->_errorCorrectionType) {
         case self::AUDIO_SPREAD:
             $errorCorrectionData->writeInt8($this->_errorCorrectionData['span'])->writeUInt16LE($this->_errorCorrectionData['virtualPacketLength'])->writeUInt16LE($this->_errorCorrectionData['virtualChunkLength'])->writeUInt16LE(strlen($this->_errorCorrectionData['silenceData']))->write($this->_errorCorrectionData['silenceData']);
             break;
         case self::NO_ERROR_CORRECTION:
             // break intentionally omitted
         // break intentionally omitted
         default:
             break;
     }
     $this->setSize(24 + 54 + $typeSpecificData->getSize() + $errorCorrectionData->getSize());
     $writer->writeGuid($this->getIdentifier())->writeInt64LE($this->getSize())->writeGuid($this->_streamType)->writeGuid($this->_errorCorrectionType)->writeInt64LE($this->_timeOffset)->writeUInt32LE($typeSpecificData->getSize())->writeUInt32LE($errorCorrectionData->getSize())->writeUInt16LE($this->_flags)->writeUInt32LE($this->_reserved)->write($typeSpecificData->toString())->write($errorCorrectionData->toString());
 }
Beispiel #12
0
 /**
  * Writes the object data.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 public function write($writer)
 {
     $this->setSize(24 + 8 + strlen($this->_data));
     $writer->writeGuid($this->getIdentifier())->writeInt64LE($this->getSize())->writeUInt32LE($this->_type)->writeUInt32LE(strlen($this->_data))->write($this->_data);
 }
Beispiel #13
0
 /**
  * Writes the frame raw data without the header.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 protected function _writeData($writer)
 {
     if ($this->_counter > 4294967295) {
         $writer->writeInt64BE($this->_counter);
         // UInt64
     } else {
         $writer->writeUInt32BE($this->_counter);
     }
 }
Beispiel #14
0
 /**
  * Writes the frame raw data without the header.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 protected function _writeData($writer)
 {
     $writer->writeInt8($this->_interpolation)->writeString8($this->_device, 1);
     foreach ($this->_adjustments as $frequency => $adjustment) {
         $writer->writeUInt16BE($frequency * 2)->writeInt16BE($adjustment * 512);
     }
 }
 /**
  * Writes the object data.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 public function write($writer)
 {
     require_once 'Zend/Io/StringWriter.php';
     $commandTypes = array();
     foreach ($this->_commands as $command) {
         if (!in_array($command['type'], $commandTypes)) {
             $commandTypes[] = $command['type'];
         }
     }
     $commandTypesCount = count($commandTypes);
     $commandTypesWriter = new Zend_Io_StringWriter();
     for ($i = 0; $i < $commandTypesCount; $i++) {
         $commandTypesWriter->writeUInt16LE(strlen($commandType = iconv($this->getOption('encoding'), 'utf-16le', $commandTypes[$i])) / 2)->write($commandType);
     }
     $commandsCount = count($this->_commands);
     $commandsWriter = new Zend_Io_StringWriter();
     for ($i = 0; $i < $commandsCount; $i++) {
         $commandsWriter->writeUInt32LE($this->_commands[$i]['presentationTime'])->writeUInt16LE(array_search($this->_commands[$i]['type'], $commandTypes))->writeUInt16LE(strlen($command = iconv($this->getOption('encoding'), 'utf-16le', $this->_commands[$i]['name'])) / 2)->write($command);
     }
     $this->setSize(24 + 20 + $commandTypesWriter->getSize() + $commandsWriter->getSize());
     $writer->writeGuid($this->getIdentifier())->writeInt64LE($this->getSize())->writeGuid($this->_reserved)->writeUInt16LE($commandsCount)->writeUInt16LE($commandTypesCount)->write($commandTypesWriter->toString())->write($commandsWriter->toString());
 }
Beispiel #16
0
 /**
  * Writes the frame raw data without the header.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 protected function _writeData($writer)
 {
     $writer->writeUInt8($this->_group)->write($this->_signature);
 }
 /**
  * Writes the header data.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 public function write($writer)
 {
     /* ID3v2.3.0 ExtendedHeader */
     if ($this->getOption('version', 4) < 4) {
         $writer->writeUInt32BE($this->_size)->writeUInt16BE($this->hasFlag(self::CRC32) ? 0x8000 : 0)->writeUInt32BE($this->_padding);
         if ($this->hasFlag(self::CRC32)) {
             $writer->writeUInt32BE($this->_crc);
         }
     } else {
         $writer->writeUInt32BE($this->_encodeSynchsafe32($this->_size))->writeInt8(1)->writeInt8($this->_flags);
         if ($this->hasFlag(self::UPDATE)) {
             $writer->write("");
         }
         if ($this->hasFlag(self::CRC32)) {
             $writer->writeInt8(5)->writeInt8($this->_crc & 4026531840.0 >> 28 & 0xf)->writeUInt32BE($this->_encodeSynchsafe32($this->_crc));
         }
         if ($this->hasFlag(self::RESTRICTED)) {
             $writer->writeInt8(1)->writeInt8($this->_restrictions);
         }
     }
 }
 /**
  * Writes the object data.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 public function write($writer)
 {
     $contentEncryptionRecordsCount = count($this->_contentEncryptionRecords);
     $contentEncryptionRecordsWriter = new Zend_Io_StringWriter();
     for ($i = 0; $i < $contentEncryptionRecordsCount; $i++) {
         $contentEncryptionRecordsWriter->writeGuid($this->_contentEncryptionRecords['systemId'])->writeUInt32LE($this->_contentEncryptionRecords['systemVersion'])->writeUInt16LE($encryptedObjectRecordCount = $this->_contentEncryptionRecords['streamNumbers']);
         for ($j = 0; $j < $encryptedObjectRecordCount; $j++) {
             $contentEncryptionRecordsWriter->writeUInt16LE(1)->writeUInt16LE(2)->writeUInt16LE($this->_contentEncryptionRecords['streamNumbers'][$j]);
         }
         $contentEncryptionRecordsWriter->writeUInt32LE(strlen($this->_contentEncryptionRecords['data']))->write($this->_contentEncryptionRecords['data']);
     }
     $this->setSize(24 + 2 + $contentEncryptionRecordsWriter->getSize());
     $writer->writeGuid($this->getIdentifier())->writeInt64LE($this->getSize())->writeUInt16LE($contentEncryptionRecordsCount)->write($contentEncryptionRecordsWriter->toString());
 }
 /**
  * Writes the object data.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 public function write($writer)
 {
     require_once 'Zend/Io/StringWriter.php';
     $descriptionRecordsCount = count($this->_descriptionRecords);
     $descriptionRecordsWriter = new Zend_Io_StringWriter();
     for ($i = 0; $i < $descriptionRecordsCount; $i++) {
         $descriptionRecordsWriter->writeUInt16LE($this->_descriptionRecords[$i]['languageIndex'])->writeUInt16LE($this->_descriptionRecords[$i]['streamNumber'])->writeUInt16LE(strlen($name = iconv($this->getOption('encoding'), 'utf-16le', $this->_descriptionRecords[$i]['name']) . ""));
         if (is_string($this->_descriptionRecords[$i]['data'])) {
             $chunks = array();
             if (preg_match("/^[\\da-f]{8}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{4}-[\\da-f]{1" . "2}\$/i", $this->_descriptionRecords[$i]['data'])) {
                 $descriptionRecordsWriter->writeUInt16LE(6)->writeUInt32LE(16)->write($name)->writeGuid($this->_descriptionRecords[$i]['data']);
             } else {
                 /* There is no way to distinguish byte arrays from unicode
                  * strings and hence the need for a list of fields of type
                  * byte array */
                 static $byteArray = array("WM/Lyrics_Synchronised", "WM/Picture");
                 // TODO: Add to the list if you encounter one
                 if (in_array($name, $byteArray)) {
                     $descriptionRecordsWriter->writeUInt16LE(1)->writeUInt32LE(strlen($this->_descriptionRecords[$i]['data']))->write($name)->write($this->_descriptionRecords[$i]['data']);
                 } else {
                     $value = iconv($this->getOption('encoding'), 'utf-16le', $this->_descriptionRecords[$i]['data']);
                     $value = $value ? $value . "" : '';
                     $descriptionRecordsWriter->writeUInt16LE(0)->writeUInt32LE(strlen($value))->write($name)->writeString16($value);
                 }
             }
         } else {
             if (is_bool($this->_descriptionRecords[$i]['data'])) {
                 $descriptionRecordsWriter->writeUInt16LE(2)->writeUInt32LE(2)->write($name)->writeUInt16LE($this->_descriptionRecords[$i]['data'] ? 1 : 0);
             } else {
                 if (is_int($this->_descriptionRecords[$i]['data'])) {
                     $descriptionRecordsWriter->writeUInt16LE(3)->writeUInt32LE(4)->write($name)->writeUInt32LE($this->_descriptionRecords[$i]['data']);
                 } else {
                     if (is_float($this->_descriptionRecords[$i]['data'])) {
                         $descriptionRecordsWriter->writeUInt16LE(4)->writeUInt32LE(8)->write($name)->writeInt64LE($this->_descriptionRecords[$i]['data']);
                     } else {
                         // Invalid value and there is nothing to be done
                         require_once 'Zend/Media/Asf/Exception.php';
                         throw new Zend_Media_Asf_Exception('Invalid data type');
                     }
                 }
             }
         }
     }
     $this->setSize(24 + 2 + $descriptionRecordsWriter->getSize());
     $writer->writeGuid($this->getIdentifier())->writeInt64LE($this->getSize())->writeUInt16LE($descriptionRecordsCount)->write($descriptionRecordsWriter->toString());
 }
Beispiel #20
0
 /**
  * Writes the frame raw data without the header.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 protected function _writeData($writer)
 {
     $writer->writeUInt8($this->_encoding)->write($this->_currency)->writeString8($this->_price, 1)->write($this->_date);
     switch ($this->_encoding) {
         case self::UTF16LE:
             $writer->writeString16($this->_seller, Zend_Io_Writer::LITTLE_ENDIAN_ORDER);
             break;
         case self::UTF16:
             // break intentionally omitted
         // break intentionally omitted
         case self::UTF16BE:
             $writer->writeString16($this->_seller);
             break;
         default:
             $writer->writeString8($this->_seller);
             break;
     }
 }
Beispiel #21
0
 /**
  * Writes the frame raw data without the header.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 protected function _writeData($writer)
 {
     $writer->writeString8($this->_owner, 1)->write($this->_fileIdentifier);
 }
 /**
  * Writes the object data.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 public function write($writer)
 {
     $this->setSize(24 + 2);
     $writer->writeGuid($this->getIdentifier())->writeInt64LE($this->getSize())->writeUInt8($this->_profile)->writeUInt8($this->_mode);
 }
Beispiel #23
0
 /**
  * Writes the frame raw data without the header.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 protected function _writeData($writer)
 {
     $writer->writeString8(substr($this->_target, 0, 4), 4)->writeString8($this->_url, 1)->writeString8($this->_qualifier);
 }
Beispiel #24
0
 /**
  * Writes the object data.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 public function write($writer)
 {
     $this->setSize(24 + 80);
     $writer->writeGuid($this->getIdentifier())->writeInt64LE($this->getSize())->writeGuid($this->_fileId)->writeInt64LE($this->_fileSize)->writeInt64LE($this->_creationDate)->writeInt64LE($this->_dataPacketsCount)->writeInt64LE($this->_playDuration)->writeInt64LE($this->_sendDuration)->writeInt64LE($this->_preroll)->writeUInt32LE($this->_flags)->writeUInt32LE($this->_minimumDataPacketSize)->writeUInt32LE($this->_maximumDataPacketSize)->writeUInt32LE($this->_maximumBitrate);
 }
Beispiel #25
0
 /**
  * Writes the frame raw data without the header.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 protected function _writeData($writer)
 {
     $writer->writeUInt8($this->_encoding)->write($this->_currency)->writeString8($this->_price, 1)->write($this->_date)->writeString8($this->_contact, 1)->writeUInt8($this->_delivery);
     switch ($this->_encoding) {
         case self::UTF16LE:
             $writer->writeString16($this->_seller, Zend_Io_Writer::LITTLE_ENDIAN_ORDER, 1)->writeString16($this->_description, Zend_Io_Writer::LITTLE_ENDIAN_ORDER, 1);
             break;
         case self::UTF16:
             // break intentionally omitted
         // break intentionally omitted
         case self::UTF16BE:
             $writer->writeString16($this->_seller, null, 1)->writeString16($this->_description, null, 1);
             break;
         default:
             $writer->writeString8($this->_seller, 1)->writeString8($this->_description, 1);
             break;
     }
     if ($this->_mimeType) {
         $writer->writeString8($this->_mimeType, 1)->write($this->_imageData);
     }
 }
 /**
  * Writes the object data.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 public function write($writer)
 {
     $priorityRecordCount = count($this->_priorityRecords);
     $this->setSize(24 + 2 + $priorityRecordCount * 4);
     $writer->writeGuid($this->getIdentifier())->writeInt64LE($this->getSize())->writeUInt16LE($priorityRecordCount);
     for ($i = 0; $i < $priorityRecordCount; $i++) {
         $writer->writeUInt16LE($this->_priorityRecords[$i]['streamNumber'])->writeUInt16LE($this->_priorityRecords[$i]['flags']);
     }
 }
Beispiel #27
0
 /**
  * Writes the frame raw data without the header.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 protected function _writeData($writer)
 {
     $writer->write($this->_data);
 }
Beispiel #28
0
 /**
  * Writes the header/footer data without the identifier.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 public function write($writer)
 {
     $writer->writeInt8(floor($this->_version))->writeInt8(($this->_version - floor($this->_version)) * 10)->writeInt8($this->_flags)->writeUInt32BE($this->_encodeSynchsafe32($this->_size));
 }
Beispiel #29
0
 /**
  * Writes the frame raw data without the header.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 protected function _writeData($writer)
 {
     $writer->writeUInt8($this->_encoding);
     switch ($this->_encoding) {
         case self::UTF16LE:
             $writer->writeString16($this->_description, Zend_Io_Writer::LITTLE_ENDIAN_ORDER, 1);
             break;
         case self::UTF16:
             // break intentionally omitted
         // break intentionally omitted
         case self::UTF16BE:
             $writer->writeString16($this->_description, null, 1);
             break;
         default:
             $writer->writeString8($this->_description, 1);
             break;
     }
     $writer->write($this->_link);
 }
Beispiel #30
0
 /**
  * Writes the object data.
  *
  * @param Zend_Io_Writer $writer The writer object.
  * @return void
  */
 public function write($writer)
 {
     $streamNumbersCount = count($this->_streamNumber);
     $this->setSize(24 + 28 + $streamNumbersCount * 2);
     $writer->writeGuid($this->getIdentifier())->writeInt64LE($this->getSize())->writeGuid($this->_sharingType)->writeUInt32LE($this->_dataBitrate)->writeUInt32LE($this->_bufferSize)->writeUInt16LE($streamNumbersCount);
     for ($i = 0; $i < $streamNumbersCount; $i++) {
         $writer->writeUInt16LE($this->_streamNumbers[$i]);
     }
 }