|
@@ 846-857 (lines=12) @@
|
| 843 |
|
break; |
| 844 |
|
|
| 845 |
|
|
| 846 |
|
case 'stss': // Sample Table Sync Sample (key frames) atom |
| 847 |
|
if ($ParseAllPossibleAtoms) { |
| 848 |
|
$atom_structure['version'] = getid3_lib::BigEndian2Int(substr($atom_data, 0, 1)); |
| 849 |
|
$atom_structure['flags_raw'] = getid3_lib::BigEndian2Int(substr($atom_data, 1, 3)); // hardcoded: 0x0000 |
| 850 |
|
$atom_structure['number_entries'] = getid3_lib::BigEndian2Int(substr($atom_data, 4, 4)); |
| 851 |
|
$stssEntriesDataOffset = 8; |
| 852 |
|
for ($i = 0; $i < $atom_structure['number_entries']; $i++) { |
| 853 |
|
$atom_structure['time_to_sample_table'][$i] = getid3_lib::BigEndian2Int(substr($atom_data, $stssEntriesDataOffset, 4)); |
| 854 |
|
$stssEntriesDataOffset += 4; |
| 855 |
|
} |
| 856 |
|
} |
| 857 |
|
break; |
| 858 |
|
|
| 859 |
|
|
| 860 |
|
case 'stsc': // Sample Table Sample-to-Chunk atom |
|
@@ 895-906 (lines=12) @@
|
| 892 |
|
break; |
| 893 |
|
|
| 894 |
|
|
| 895 |
|
case 'stco': // Sample Table Chunk Offset atom |
| 896 |
|
if ($ParseAllPossibleAtoms) { |
| 897 |
|
$atom_structure['version'] = getid3_lib::BigEndian2Int(substr($atom_data, 0, 1)); |
| 898 |
|
$atom_structure['flags_raw'] = getid3_lib::BigEndian2Int(substr($atom_data, 1, 3)); // hardcoded: 0x0000 |
| 899 |
|
$atom_structure['number_entries'] = getid3_lib::BigEndian2Int(substr($atom_data, 4, 4)); |
| 900 |
|
$stcoEntriesDataOffset = 8; |
| 901 |
|
for ($i = 0; $i < $atom_structure['number_entries']; $i++) { |
| 902 |
|
$atom_structure['chunk_offset_table'][$i] = getid3_lib::BigEndian2Int(substr($atom_data, $stcoEntriesDataOffset, 4)); |
| 903 |
|
$stcoEntriesDataOffset += 4; |
| 904 |
|
} |
| 905 |
|
} |
| 906 |
|
break; |
| 907 |
|
|
| 908 |
|
|
| 909 |
|
case 'co64': // Chunk Offset 64-bit (version of "stco" that supports > 2GB files) |
|
@@ 909-920 (lines=12) @@
|
| 906 |
|
break; |
| 907 |
|
|
| 908 |
|
|
| 909 |
|
case 'co64': // Chunk Offset 64-bit (version of "stco" that supports > 2GB files) |
| 910 |
|
if ($ParseAllPossibleAtoms) { |
| 911 |
|
$atom_structure['version'] = getid3_lib::BigEndian2Int(substr($atom_data, 0, 1)); |
| 912 |
|
$atom_structure['flags_raw'] = getid3_lib::BigEndian2Int(substr($atom_data, 1, 3)); // hardcoded: 0x0000 |
| 913 |
|
$atom_structure['number_entries'] = getid3_lib::BigEndian2Int(substr($atom_data, 4, 4)); |
| 914 |
|
$stcoEntriesDataOffset = 8; |
| 915 |
|
for ($i = 0; $i < $atom_structure['number_entries']; $i++) { |
| 916 |
|
$atom_structure['chunk_offset_table'][$i] = getid3_lib::BigEndian2Int(substr($atom_data, $stcoEntriesDataOffset, 8)); |
| 917 |
|
$stcoEntriesDataOffset += 8; |
| 918 |
|
} |
| 919 |
|
} |
| 920 |
|
break; |
| 921 |
|
|
| 922 |
|
|
| 923 |
|
case 'dref': // Data REFerence atom |