getid3_quicktime::QuicktimeParseContainerAtom() public WP 1.0
{} Это метод класса: getid3_quicktime{}
Хуков нет.
Возвращает
Массив/false.
Использование
$getid3_quicktime = new getid3_quicktime(); $getid3_quicktime->QuicktimeParseContainerAtom( $atom_data, $baseoffset, $atomHierarchy, $ParseAllPossibleAtoms );
- $atom_data(строка) (обязательный)
- -
- $baseoffset(число) (обязательный)
- -
- $atomHierarchy(массив) (обязательный)
- -
- $ParseAllPossibleAtoms(true/false) (обязательный)
- -
Код getid3_quicktime::QuicktimeParseContainerAtom() getid3 quicktime::QuicktimeParseContainerAtom WP 5.6.2
public function QuicktimeParseContainerAtom($atom_data, $baseoffset, &$atomHierarchy, $ParseAllPossibleAtoms) {
$atom_structure = false;
$subatomoffset = 0;
$subatomcounter = 0;
if ((strlen($atom_data) == 4) && (getid3_lib::BigEndian2Int($atom_data) == 0x00000000)) {
return false;
}
while ($subatomoffset < strlen($atom_data)) {
$subatomsize = getid3_lib::BigEndian2Int(substr($atom_data, $subatomoffset + 0, 4));
$subatomname = substr($atom_data, $subatomoffset + 4, 4);
$subatomdata = substr($atom_data, $subatomoffset + 8, $subatomsize - 8);
if ($subatomsize == 0) {
// Furthermore, for historical reasons the list of atoms is optionally
// terminated by a 32-bit integer set to 0. If you are writing a program
// to read user data atoms, you should allow for the terminating 0.
if (strlen($atom_data) > 12) {
$subatomoffset += 4;
continue;
}
return $atom_structure;
}
if (strlen($subatomdata) < ($subatomsize - 8)) {
// we don't have enough data to decode the subatom.
// this may be because we are refusing to parse large subatoms, or it may be because this atom had its size set too large
// so we passed in the start of a following atom incorrectly?
return $atom_structure;
}
$atom_structure[$subatomcounter++] = $this->QuicktimeParseAtom($subatomname, $subatomsize, $subatomdata, $baseoffset + $subatomoffset, $atomHierarchy, $ParseAllPossibleAtoms);
$subatomoffset += $subatomsize;
}
return $atom_structure;
}