|
@@ 1020-1031 (lines=12) @@
|
| 1017 |
|
break; |
| 1018 |
|
|
| 1019 |
|
|
| 1020 |
|
case 'stss': // Sample Table Sync Sample (key frames) atom |
| 1021 |
|
if ($ParseAllPossibleAtoms) { |
| 1022 |
|
$atom_structure['version'] = getid3_lib::BigEndian2Int(substr($atom_data, 0, 1)); |
| 1023 |
|
$atom_structure['flags_raw'] = getid3_lib::BigEndian2Int(substr($atom_data, 1, 3)); // hardcoded: 0x0000 |
| 1024 |
|
$atom_structure['number_entries'] = getid3_lib::BigEndian2Int(substr($atom_data, 4, 4)); |
| 1025 |
|
$stssEntriesDataOffset = 8; |
| 1026 |
|
for ($i = 0; $i < $atom_structure['number_entries']; $i++) { |
| 1027 |
|
$atom_structure['time_to_sample_table'][$i] = getid3_lib::BigEndian2Int(substr($atom_data, $stssEntriesDataOffset, 4)); |
| 1028 |
|
$stssEntriesDataOffset += 4; |
| 1029 |
|
} |
| 1030 |
|
} |
| 1031 |
|
break; |
| 1032 |
|
|
| 1033 |
|
|
| 1034 |
|
case 'stsc': // Sample Table Sample-to-Chunk atom |
|
@@ 1069-1080 (lines=12) @@
|
| 1066 |
|
break; |
| 1067 |
|
|
| 1068 |
|
|
| 1069 |
|
case 'stco': // Sample Table Chunk Offset atom |
| 1070 |
|
// if (true) { |
| 1071 |
|
if ($ParseAllPossibleAtoms) { |
| 1072 |
|
$atom_structure['version'] = getid3_lib::BigEndian2Int(substr($atom_data, 0, 1)); |
| 1073 |
|
$atom_structure['flags_raw'] = getid3_lib::BigEndian2Int(substr($atom_data, 1, 3)); // hardcoded: 0x0000 |
| 1074 |
|
$atom_structure['number_entries'] = getid3_lib::BigEndian2Int(substr($atom_data, 4, 4)); |
| 1075 |
|
$stcoEntriesDataOffset = 8; |
| 1076 |
|
for ($i = 0; $i < $atom_structure['number_entries']; $i++) { |
| 1077 |
|
$atom_structure['chunk_offset_table'][$i] = getid3_lib::BigEndian2Int(substr($atom_data, $stcoEntriesDataOffset, 4)); |
| 1078 |
|
$stcoEntriesDataOffset += 4; |
| 1079 |
|
} |
| 1080 |
|
} |
| 1081 |
|
break; |
| 1082 |
|
|
| 1083 |
|
|
|
@@ 1084-1095 (lines=12) @@
|
| 1081 |
|
break; |
| 1082 |
|
|
| 1083 |
|
|
| 1084 |
|
case 'co64': // Chunk Offset 64-bit (version of "stco" that supports > 2GB files) |
| 1085 |
|
if ($ParseAllPossibleAtoms) { |
| 1086 |
|
$atom_structure['version'] = getid3_lib::BigEndian2Int(substr($atom_data, 0, 1)); |
| 1087 |
|
$atom_structure['flags_raw'] = getid3_lib::BigEndian2Int(substr($atom_data, 1, 3)); // hardcoded: 0x0000 |
| 1088 |
|
$atom_structure['number_entries'] = getid3_lib::BigEndian2Int(substr($atom_data, 4, 4)); |
| 1089 |
|
$stcoEntriesDataOffset = 8; |
| 1090 |
|
for ($i = 0; $i < $atom_structure['number_entries']; $i++) { |
| 1091 |
|
$atom_structure['chunk_offset_table'][$i] = getid3_lib::BigEndian2Int(substr($atom_data, $stcoEntriesDataOffset, 8)); |
| 1092 |
|
$stcoEntriesDataOffset += 8; |
| 1093 |
|
} |
| 1094 |
|
} |
| 1095 |
|
break; |
| 1096 |
|
|
| 1097 |
|
|
| 1098 |
|
case 'dref': // Data REFerence atom |