protected function readContent() { $this->version = pReadInt8($this->mp4->readP); $this->flags = pReadInt24($this->mp4->readP); if ($this->version == 0) { $this->creationTime = pReadInt32($this->mp4->readP); $this->modificationTime = pReadInt32($this->mp4->readP); $this->trackId = pReadInt32($this->mp4->readP); $this->reserved1 = pReadInt32($this->mp4->readP); $this->duration = pReadInt32($this->mp4->readP); } else { $this->creationTime = pReadInt64($this->mp4->readP); $this->modificationTime = pReadInt64($this->mp4->readP); $this->trackId = pReadInt32($this->mp4->readP); $this->reserved1 = pReadInt32($this->mp4->readP); $this->duration = pReadInt64($this->mp4->readP); } $this->reserved2 = pReadInt32($this->mp4->readP); $this->reserved3 = pReadInt32($this->mp4->readP); $this->layer = pReadInt16($this->mp4->readP); $this->predefined = pReadInt16($this->mp4->readP); $this->volume = pReadSI16($this->mp4->readP); $this->reserved4 = pReadInt16($this->mp4->readP); for ($i = 0; $i < 9; $i++) { $this->matrix[] = pReadInt32($this->mp4->readP); } $this->width = pReadSI32($this->mp4->readP); $this->height = pReadSI32($this->mp4->readP); }
protected function readContent() { $this->version = pReadInt8($this->mp4->readP); $this->flags = pReadInt24($this->mp4->readP); if ($this->version == 0) { $this->creationTime = pReadInt32($this->mp4->readP); $this->modificationTime = pReadInt32($this->mp4->readP); $this->timeScale = pReadInt32($this->mp4->readP); $this->duration = pReadInt32($this->mp4->readP); } else { $this->creationTime = pReadInt64($this->mp4->readP); $this->modificationTime = pReadInt64($this->mp4->readP); $this->timeScale = pReadInt32($this->mp4->readP); $this->duration = pReadInt64($this->mp4->readP); } $this->rate = pReadSI32($this->mp4->readP); $this->volume = pReadSI16($this->mp4->readP); $this->reserved1 = pReadInt16($this->mp4->readP); $this->reserved2 = pReadInt32($this->mp4->readP); $this->reserved3 = pReadInt32($this->mp4->readP); for ($i = 0; $i < 9; $i++) { $this->matrix[] = pReadInt32($this->mp4->readP); } for ($i = 0; $i < 6; $i++) { $this->predefined[] = pReadInt32($this->mp4->readP); } $this->nextTrackId = pReadInt32($this->mp4->readP); }
protected function readContent() { $this->version = pReadInt8($this->mp4->readP); $this->flags = pReadInt24($this->mp4->readP); $this->count = pReadInt32($this->mp4->readP); for ($i = 0; $i < $this->count; $i++) { if ($this->boxInfo->type == "co64") { $this->entries[] = pReadInt64($this->mp4->readP); } else { $this->entries[] = pReadInt32($this->mp4->readP); } } }
protected function readContent() { $this->version = pReadInt8($this->mp4->readP); $this->flags = pReadInt24($this->mp4->readP); if ($this->version == 0) { $this->creationTime = pReadInt32($this->mp4->readP); $this->modificationTime = pReadInt32($this->mp4->readP); $this->timeScale = pReadInt32($this->mp4->readP); $this->duration = pReadInt32($this->mp4->readP); } else { $this->creationTime = pReadInt64($this->mp4->readP); $this->modificationTime = pReadInt64($this->mp4->readP); $this->timeScale = pReadInt32($this->mp4->readP); $this->duration = pReadInt64($this->mp4->readP); } $this->language = pReadInt16($this->mp4->readP); $this->predefined = pReadInt16($this->mp4->readP); }
public function read() { if ($this->boxInfo->type != "ROOT") { $this->boxInfo->position = ftell($this->mp4->readP); $this->boxInfo->size = pReadInt32($this->mp4->readP); $this->boxInfo->type = fread($this->mp4->readP, 4); if ($this->boxInfo->size == 1) { $this->boxInfo->headerLength = 16; $this->boxInfo->size = pReadInt64($this->mp4->readP); } else { $this->boxInfo->headerLength = 8; } } if ($this->isContainer()) { if (MP4_DEBUG) { $string_representation = $this->toString(); if ($string_representation != "") { echo str_repeat(" ", $this->boxInfo->depth * 4) . $string_representation . "<br>"; } } $i = 0; while ($this->_keepReadingChildren() && $i++ < 10) { $pos = ftell($this->mp4->readP); fseek($this->mp4->readP, $pos + 4); $next_type = fread($this->mp4->readP, 4); fseek($this->mp4->readP, $pos); switch ($next_type) { case "stco": case "co64": $child = new Mp4Box_stco($this->mp4, $this->boxInfo->depth + 1); break; case "ctts": $child = new Mp4Box_ctts($this->mp4, $this->boxInfo->depth + 1); break; case "mdhd": $child = new Mp4Box_mdhd($this->mp4, $this->boxInfo->depth + 1); break; case "mvhd": $child = new Mp4Box_mvhd($this->mp4, $this->boxInfo->depth + 1); break; case "stsd": $child = new Mp4Box_stsd($this->mp4, $this->boxInfo->depth + 1); break; case "stss": $child = new Mp4Box_stss($this->mp4, $this->boxInfo->depth + 1); break; case "stsz": $child = new Mp4Box_stsz($this->mp4, $this->boxInfo->depth + 1); break; case "tkhd": $child = new Mp4Box_tkhd($this->mp4, $this->boxInfo->depth + 1); break; case "trak": $child = new Mp4Box_trak($this->mp4, $this->boxInfo->depth + 1); break; case "stsc": $child = new Mp4Box_stsc($this->mp4, $this->boxInfo->depth + 1); break; case "stts": $child = new Mp4Box_stts($this->mp4, $this->boxInfo->depth + 1); break; case "mdat": $child = new Mp4Box_mdat($this->mp4, $this->boxInfo->depth + 1); break; default: $child = new Mp4AbstractBox($this->mp4, $this->boxInfo->depth + 1); break; } $child->parent = $this; $child->read(); $this->children[] = $child; } } else { $this->readContent(); fseek($this->mp4->readP, $this->boxInfo->position + $this->boxInfo->size); if (MP4_DEBUG) { $string_representation = $this->toString(); if ($string_representation != "") { echo str_repeat(" ", $this->boxInfo->depth * 4) . $string_representation . " (" . $this->boxInfo->size . ")<br>"; } } } }