264 $thisfile_asf_headerextensionobject['objectsize'] = $NextObjectSize; |
264 $thisfile_asf_headerextensionobject['objectsize'] = $NextObjectSize; |
265 $thisfile_asf_headerextensionobject['reserved_1'] = substr($ASFHeaderData, $offset, 16); |
265 $thisfile_asf_headerextensionobject['reserved_1'] = substr($ASFHeaderData, $offset, 16); |
266 $offset += 16; |
266 $offset += 16; |
267 $thisfile_asf_headerextensionobject['reserved_1_guid'] = $this->BytestringToGUID($thisfile_asf_headerextensionobject['reserved_1']); |
267 $thisfile_asf_headerextensionobject['reserved_1_guid'] = $this->BytestringToGUID($thisfile_asf_headerextensionobject['reserved_1']); |
268 if ($thisfile_asf_headerextensionobject['reserved_1'] != GETID3_ASF_Reserved_1) { |
268 if ($thisfile_asf_headerextensionobject['reserved_1'] != GETID3_ASF_Reserved_1) { |
269 $info['warning'][] = 'header_extension_object.reserved_1 GUID ('.$this->BytestringToGUID($thisfile_asf_headerextensionobject['reserved_1']).') does not match expected "GETID3_ASF_Reserved_1" GUID ('.$this->BytestringToGUID(GETID3_ASF_Reserved_1).')'; |
269 $this->warning('header_extension_object.reserved_1 GUID ('.$this->BytestringToGUID($thisfile_asf_headerextensionobject['reserved_1']).') does not match expected "GETID3_ASF_Reserved_1" GUID ('.$this->BytestringToGUID(GETID3_ASF_Reserved_1).')'); |
270 //return false; |
270 //return false; |
271 break; |
271 break; |
272 } |
272 } |
273 $thisfile_asf_headerextensionobject['reserved_2'] = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 2)); |
273 $thisfile_asf_headerextensionobject['reserved_2'] = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 2)); |
274 $offset += 2; |
274 $offset += 2; |
275 if ($thisfile_asf_headerextensionobject['reserved_2'] != 6) { |
275 if ($thisfile_asf_headerextensionobject['reserved_2'] != 6) { |
276 $info['warning'][] = 'header_extension_object.reserved_2 ('.getid3_lib::PrintHexBytes($thisfile_asf_headerextensionobject['reserved_2']).') does not match expected value of "6"'; |
276 $this->warning('header_extension_object.reserved_2 ('.getid3_lib::PrintHexBytes($thisfile_asf_headerextensionobject['reserved_2']).') does not match expected value of "6"'); |
277 //return false; |
277 //return false; |
278 break; |
278 break; |
279 } |
279 } |
280 $thisfile_asf_headerextensionobject['extension_data_size'] = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 4)); |
280 $thisfile_asf_headerextensionobject['extension_data_size'] = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 4)); |
281 $offset += 4; |
281 $offset += 4; |
314 $thisfile_asf_codeclistobject['objectsize'] = $NextObjectSize; |
314 $thisfile_asf_codeclistobject['objectsize'] = $NextObjectSize; |
315 $thisfile_asf_codeclistobject['reserved'] = substr($ASFHeaderData, $offset, 16); |
315 $thisfile_asf_codeclistobject['reserved'] = substr($ASFHeaderData, $offset, 16); |
316 $offset += 16; |
316 $offset += 16; |
317 $thisfile_asf_codeclistobject['reserved_guid'] = $this->BytestringToGUID($thisfile_asf_codeclistobject['reserved']); |
317 $thisfile_asf_codeclistobject['reserved_guid'] = $this->BytestringToGUID($thisfile_asf_codeclistobject['reserved']); |
318 if ($thisfile_asf_codeclistobject['reserved'] != $this->GUIDtoBytestring('86D15241-311D-11D0-A3A4-00A0C90348F6')) { |
318 if ($thisfile_asf_codeclistobject['reserved'] != $this->GUIDtoBytestring('86D15241-311D-11D0-A3A4-00A0C90348F6')) { |
319 $info['warning'][] = 'codec_list_object.reserved GUID {'.$this->BytestringToGUID($thisfile_asf_codeclistobject['reserved']).'} does not match expected "GETID3_ASF_Reserved_1" GUID {86D15241-311D-11D0-A3A4-00A0C90348F6}'; |
319 $this->warning('codec_list_object.reserved GUID {'.$this->BytestringToGUID($thisfile_asf_codeclistobject['reserved']).'} does not match expected "GETID3_ASF_Reserved_1" GUID {86D15241-311D-11D0-A3A4-00A0C90348F6}'); |
320 //return false; |
320 //return false; |
321 break; |
321 break; |
322 } |
322 } |
323 $thisfile_asf_codeclistobject['codec_entries_count'] = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 4)); |
323 $thisfile_asf_codeclistobject['codec_entries_count'] = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 4)); |
324 $offset += 4; |
324 $offset += 4; |
347 $offset += $CodecInformationLength; |
347 $offset += $CodecInformationLength; |
348 |
348 |
349 if ($thisfile_asf_codeclistobject_codecentries_current['type_raw'] == 2) { // audio codec |
349 if ($thisfile_asf_codeclistobject_codecentries_current['type_raw'] == 2) { // audio codec |
350 |
350 |
351 if (strpos($thisfile_asf_codeclistobject_codecentries_current['description'], ',') === false) { |
351 if (strpos($thisfile_asf_codeclistobject_codecentries_current['description'], ',') === false) { |
352 $info['warning'][] = '[asf][codec_list_object][codec_entries]['.$CodecEntryCounter.'][description] expected to contain comma-seperated list of parameters: "'.$thisfile_asf_codeclistobject_codecentries_current['description'].'"'; |
352 $this->warning('[asf][codec_list_object][codec_entries]['.$CodecEntryCounter.'][description] expected to contain comma-separated list of parameters: "'.$thisfile_asf_codeclistobject_codecentries_current['description'].'"'); |
353 } else { |
353 } else { |
354 |
354 |
355 list($AudioCodecBitrate, $AudioCodecFrequency, $AudioCodecChannels) = explode(',', $this->TrimConvert($thisfile_asf_codeclistobject_codecentries_current['description'])); |
355 list($AudioCodecBitrate, $AudioCodecFrequency, $AudioCodecChannels) = explode(',', $this->TrimConvert($thisfile_asf_codeclistobject_codecentries_current['description'])); |
356 $thisfile_audio['codec'] = $this->TrimConvert($thisfile_asf_codeclistobject_codecentries_current['name']); |
356 $thisfile_audio['codec'] = $this->TrimConvert($thisfile_asf_codeclistobject_codecentries_current['name']); |
357 |
357 |
410 case 48000: |
410 case 48000: |
411 $thisfile_audio['sample_rate'] = 48000; |
411 $thisfile_audio['sample_rate'] = 48000; |
412 break; |
412 break; |
413 |
413 |
414 default: |
414 default: |
415 $info['warning'][] = 'unknown frequency: "'.$AudioCodecFrequency.'" ('.$this->TrimConvert($thisfile_asf_codeclistobject_codecentries_current['description']).')'; |
415 $this->warning('unknown frequency: "'.$AudioCodecFrequency.'" ('.$this->TrimConvert($thisfile_asf_codeclistobject_codecentries_current['description']).')'); |
416 break; |
416 break; |
417 } |
417 } |
418 |
418 |
419 if (!isset($thisfile_audio['channels'])) { |
419 if (!isset($thisfile_audio['channels'])) { |
420 if (strstr($AudioCodecChannels, 'stereo')) { |
420 if (strstr($AudioCodecChannels, 'stereo')) { |
456 $thisfile_asf_scriptcommandobject['objectsize'] = $NextObjectSize; |
456 $thisfile_asf_scriptcommandobject['objectsize'] = $NextObjectSize; |
457 $thisfile_asf_scriptcommandobject['reserved'] = substr($ASFHeaderData, $offset, 16); |
457 $thisfile_asf_scriptcommandobject['reserved'] = substr($ASFHeaderData, $offset, 16); |
458 $offset += 16; |
458 $offset += 16; |
459 $thisfile_asf_scriptcommandobject['reserved_guid'] = $this->BytestringToGUID($thisfile_asf_scriptcommandobject['reserved']); |
459 $thisfile_asf_scriptcommandobject['reserved_guid'] = $this->BytestringToGUID($thisfile_asf_scriptcommandobject['reserved']); |
460 if ($thisfile_asf_scriptcommandobject['reserved'] != $this->GUIDtoBytestring('4B1ACBE3-100B-11D0-A39B-00A0C90348F6')) { |
460 if ($thisfile_asf_scriptcommandobject['reserved'] != $this->GUIDtoBytestring('4B1ACBE3-100B-11D0-A39B-00A0C90348F6')) { |
461 $info['warning'][] = 'script_command_object.reserved GUID {'.$this->BytestringToGUID($thisfile_asf_scriptcommandobject['reserved']).'} does not match expected "GETID3_ASF_Reserved_1" GUID {4B1ACBE3-100B-11D0-A39B-00A0C90348F6}'; |
461 $this->warning('script_command_object.reserved GUID {'.$this->BytestringToGUID($thisfile_asf_scriptcommandobject['reserved']).'} does not match expected "GETID3_ASF_Reserved_1" GUID {4B1ACBE3-100B-11D0-A39B-00A0C90348F6}'); |
462 //return false; |
462 //return false; |
463 break; |
463 break; |
464 } |
464 } |
465 $thisfile_asf_scriptcommandobject['commands_count'] = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 2)); |
465 $thisfile_asf_scriptcommandobject['commands_count'] = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 2)); |
466 $offset += 2; |
466 $offset += 2; |
515 $thisfile_asf_markerobject['objectsize'] = $NextObjectSize; |
515 $thisfile_asf_markerobject['objectsize'] = $NextObjectSize; |
516 $thisfile_asf_markerobject['reserved'] = substr($ASFHeaderData, $offset, 16); |
516 $thisfile_asf_markerobject['reserved'] = substr($ASFHeaderData, $offset, 16); |
517 $offset += 16; |
517 $offset += 16; |
518 $thisfile_asf_markerobject['reserved_guid'] = $this->BytestringToGUID($thisfile_asf_markerobject['reserved']); |
518 $thisfile_asf_markerobject['reserved_guid'] = $this->BytestringToGUID($thisfile_asf_markerobject['reserved']); |
519 if ($thisfile_asf_markerobject['reserved'] != $this->GUIDtoBytestring('4CFEDB20-75F6-11CF-9C0F-00A0C90349CB')) { |
519 if ($thisfile_asf_markerobject['reserved'] != $this->GUIDtoBytestring('4CFEDB20-75F6-11CF-9C0F-00A0C90349CB')) { |
520 $info['warning'][] = 'marker_object.reserved GUID {'.$this->BytestringToGUID($thisfile_asf_markerobject['reserved_1']).'} does not match expected "GETID3_ASF_Reserved_1" GUID {4CFEDB20-75F6-11CF-9C0F-00A0C90349CB}'; |
520 $this->warning('marker_object.reserved GUID {'.$this->BytestringToGUID($thisfile_asf_markerobject['reserved_1']).'} does not match expected "GETID3_ASF_Reserved_1" GUID {4CFEDB20-75F6-11CF-9C0F-00A0C90349CB}'); |
521 break; |
521 break; |
522 } |
522 } |
523 $thisfile_asf_markerobject['markers_count'] = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 4)); |
523 $thisfile_asf_markerobject['markers_count'] = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 4)); |
524 $offset += 4; |
524 $offset += 4; |
525 $thisfile_asf_markerobject['reserved_2'] = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 2)); |
525 $thisfile_asf_markerobject['reserved_2'] = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 2)); |
526 $offset += 2; |
526 $offset += 2; |
527 if ($thisfile_asf_markerobject['reserved_2'] != 0) { |
527 if ($thisfile_asf_markerobject['reserved_2'] != 0) { |
528 $info['warning'][] = 'marker_object.reserved_2 ('.getid3_lib::PrintHexBytes($thisfile_asf_markerobject['reserved_2']).') does not match expected value of "0"'; |
528 $this->warning('marker_object.reserved_2 ('.getid3_lib::PrintHexBytes($thisfile_asf_markerobject['reserved_2']).') does not match expected value of "0"'); |
529 break; |
529 break; |
530 } |
530 } |
531 $thisfile_asf_markerobject['name_length'] = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 2)); |
531 $thisfile_asf_markerobject['name_length'] = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 2)); |
532 $offset += 2; |
532 $offset += 2; |
533 $thisfile_asf_markerobject['name'] = substr($ASFHeaderData, $offset, $thisfile_asf_markerobject['name_length']); |
533 $thisfile_asf_markerobject['name'] = substr($ASFHeaderData, $offset, $thisfile_asf_markerobject['name_length']); |
574 $thisfile_asf_bitratemutualexclusionobject['objectsize'] = $NextObjectSize; |
574 $thisfile_asf_bitratemutualexclusionobject['objectsize'] = $NextObjectSize; |
575 $thisfile_asf_bitratemutualexclusionobject['reserved'] = substr($ASFHeaderData, $offset, 16); |
575 $thisfile_asf_bitratemutualexclusionobject['reserved'] = substr($ASFHeaderData, $offset, 16); |
576 $thisfile_asf_bitratemutualexclusionobject['reserved_guid'] = $this->BytestringToGUID($thisfile_asf_bitratemutualexclusionobject['reserved']); |
576 $thisfile_asf_bitratemutualexclusionobject['reserved_guid'] = $this->BytestringToGUID($thisfile_asf_bitratemutualexclusionobject['reserved']); |
577 $offset += 16; |
577 $offset += 16; |
578 if (($thisfile_asf_bitratemutualexclusionobject['reserved'] != GETID3_ASF_Mutex_Bitrate) && ($thisfile_asf_bitratemutualexclusionobject['reserved'] != GETID3_ASF_Mutex_Unknown)) { |
578 if (($thisfile_asf_bitratemutualexclusionobject['reserved'] != GETID3_ASF_Mutex_Bitrate) && ($thisfile_asf_bitratemutualexclusionobject['reserved'] != GETID3_ASF_Mutex_Unknown)) { |
579 $info['warning'][] = 'bitrate_mutual_exclusion_object.reserved GUID {'.$this->BytestringToGUID($thisfile_asf_bitratemutualexclusionobject['reserved']).'} does not match expected "GETID3_ASF_Mutex_Bitrate" GUID {'.$this->BytestringToGUID(GETID3_ASF_Mutex_Bitrate).'} or "GETID3_ASF_Mutex_Unknown" GUID {'.$this->BytestringToGUID(GETID3_ASF_Mutex_Unknown).'}'; |
579 $this->warning('bitrate_mutual_exclusion_object.reserved GUID {'.$this->BytestringToGUID($thisfile_asf_bitratemutualexclusionobject['reserved']).'} does not match expected "GETID3_ASF_Mutex_Bitrate" GUID {'.$this->BytestringToGUID(GETID3_ASF_Mutex_Bitrate).'} or "GETID3_ASF_Mutex_Unknown" GUID {'.$this->BytestringToGUID(GETID3_ASF_Mutex_Unknown).'}'); |
580 //return false; |
580 //return false; |
581 break; |
581 break; |
582 } |
582 } |
583 $thisfile_asf_bitratemutualexclusionobject['stream_numbers_count'] = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 2)); |
583 $thisfile_asf_bitratemutualexclusionobject['stream_numbers_count'] = getid3_lib::LittleEndian2Int(substr($ASFHeaderData, $offset, 2)); |
584 $offset += 2; |
584 $offset += 2; |
635 $thisfile_asf_errorcorrectionobject['silence_data'] = substr($ASFHeaderData, $offset, $thisfile_asf_errorcorrectionobject['silence_data_length']); |
635 $thisfile_asf_errorcorrectionobject['silence_data'] = substr($ASFHeaderData, $offset, $thisfile_asf_errorcorrectionobject['silence_data_length']); |
636 $offset += $thisfile_asf_errorcorrectionobject['silence_data_length']; |
636 $offset += $thisfile_asf_errorcorrectionobject['silence_data_length']; |
637 break; |
637 break; |
638 |
638 |
639 default: |
639 default: |
640 $info['warning'][] = 'error_correction_object.error_correction_type GUID {'.$this->BytestringToGUID($thisfile_asf_errorcorrectionobject['reserved']).'} does not match expected "GETID3_ASF_No_Error_Correction" GUID {'.$this->BytestringToGUID(GETID3_ASF_No_Error_Correction).'} or "GETID3_ASF_Audio_Spread" GUID {'.$this->BytestringToGUID(GETID3_ASF_Audio_Spread).'}'; |
640 $this->warning('error_correction_object.error_correction_type GUID {'.$this->BytestringToGUID($thisfile_asf_errorcorrectionobject['reserved']).'} does not match expected "GETID3_ASF_No_Error_Correction" GUID {'.$this->BytestringToGUID(GETID3_ASF_No_Error_Correction).'} or "GETID3_ASF_Audio_Spread" GUID {'.$this->BytestringToGUID(GETID3_ASF_Audio_Spread).'}'); |
641 //return false; |
641 //return false; |
642 break; |
642 break; |
643 } |
643 } |
644 |
644 |
645 break; |
645 break; |
759 case 0x0005: // WORD |
759 case 0x0005: // WORD |
760 $thisfile_asf_extendedcontentdescriptionobject_contentdescriptor_current['value'] = getid3_lib::LittleEndian2Int($thisfile_asf_extendedcontentdescriptionobject_contentdescriptor_current['value']); |
760 $thisfile_asf_extendedcontentdescriptionobject_contentdescriptor_current['value'] = getid3_lib::LittleEndian2Int($thisfile_asf_extendedcontentdescriptionobject_contentdescriptor_current['value']); |
761 break; |
761 break; |
762 |
762 |
763 default: |
763 default: |
764 $info['warning'][] = 'extended_content_description.content_descriptors.'.$ExtendedContentDescriptorsCounter.'.value_type is invalid ('.$thisfile_asf_extendedcontentdescriptionobject_contentdescriptor_current['value_type'].')'; |
764 $this->warning('extended_content_description.content_descriptors.'.$ExtendedContentDescriptorsCounter.'.value_type is invalid ('.$thisfile_asf_extendedcontentdescriptionobject_contentdescriptor_current['value_type'].')'); |
765 //return false; |
765 //return false; |
766 break; |
766 break; |
767 } |
767 } |
768 switch ($this->TrimConvert(strtolower($thisfile_asf_extendedcontentdescriptionobject_contentdescriptor_current['name']))) { |
768 switch ($this->TrimConvert(strtolower($thisfile_asf_extendedcontentdescriptionobject_contentdescriptor_current['name']))) { |
769 |
769 |
960 break; |
960 break; |
961 |
961 |
962 default: |
962 default: |
963 // Implementations shall ignore any standard or non-standard object that they do not know how to handle. |
963 // Implementations shall ignore any standard or non-standard object that they do not know how to handle. |
964 if ($this->GUIDname($NextObjectGUIDtext)) { |
964 if ($this->GUIDname($NextObjectGUIDtext)) { |
965 $info['warning'][] = 'unhandled GUID "'.$this->GUIDname($NextObjectGUIDtext).'" {'.$NextObjectGUIDtext.'} in ASF header at offset '.($offset - 16 - 8); |
965 $this->warning('unhandled GUID "'.$this->GUIDname($NextObjectGUIDtext).'" {'.$NextObjectGUIDtext.'} in ASF header at offset '.($offset - 16 - 8)); |
966 } else { |
966 } else { |
967 $info['warning'][] = 'unknown GUID {'.$NextObjectGUIDtext.'} in ASF header at offset '.($offset - 16 - 8); |
967 $this->warning('unknown GUID {'.$NextObjectGUIDtext.'} in ASF header at offset '.($offset - 16 - 8)); |
968 } |
968 } |
969 $offset += ($NextObjectSize - 16 - 8); |
969 $offset += ($NextObjectSize - 16 - 8); |
970 break; |
970 break; |
971 } |
971 } |
972 } |
972 } |
1181 $thisfile_asf_dataobject['total_data_packets'] = getid3_lib::LittleEndian2Int(substr($DataObjectData, $offset, 8)); |
1181 $thisfile_asf_dataobject['total_data_packets'] = getid3_lib::LittleEndian2Int(substr($DataObjectData, $offset, 8)); |
1182 $offset += 8; |
1182 $offset += 8; |
1183 $thisfile_asf_dataobject['reserved'] = getid3_lib::LittleEndian2Int(substr($DataObjectData, $offset, 2)); |
1183 $thisfile_asf_dataobject['reserved'] = getid3_lib::LittleEndian2Int(substr($DataObjectData, $offset, 2)); |
1184 $offset += 2; |
1184 $offset += 2; |
1185 if ($thisfile_asf_dataobject['reserved'] != 0x0101) { |
1185 if ($thisfile_asf_dataobject['reserved'] != 0x0101) { |
1186 $info['warning'][] = 'data_object.reserved ('.getid3_lib::PrintHexBytes($thisfile_asf_dataobject['reserved']).') does not match expected value of "0x0101"'; |
1186 $this->warning('data_object.reserved ('.getid3_lib::PrintHexBytes($thisfile_asf_dataobject['reserved']).') does not match expected value of "0x0101"'); |
1187 //return false; |
1187 //return false; |
1188 break; |
1188 break; |
1189 } |
1189 } |
1190 |
1190 |
1191 // Data Packets array of: variable // |
1191 // Data Packets array of: variable // |
1317 |
1317 |
1318 |
1318 |
1319 default: |
1319 default: |
1320 // Implementations shall ignore any standard or non-standard object that they do not know how to handle. |
1320 // Implementations shall ignore any standard or non-standard object that they do not know how to handle. |
1321 if ($this->GUIDname($NextObjectGUIDtext)) { |
1321 if ($this->GUIDname($NextObjectGUIDtext)) { |
1322 $info['warning'][] = 'unhandled GUID "'.$this->GUIDname($NextObjectGUIDtext).'" {'.$NextObjectGUIDtext.'} in ASF body at offset '.($offset - 16 - 8); |
1322 $this->warning('unhandled GUID "'.$this->GUIDname($NextObjectGUIDtext).'" {'.$NextObjectGUIDtext.'} in ASF body at offset '.($offset - 16 - 8)); |
1323 } else { |
1323 } else { |
1324 $info['warning'][] = 'unknown GUID {'.$NextObjectGUIDtext.'} in ASF body at offset '.($this->ftell() - 16 - 8); |
1324 $this->warning('unknown GUID {'.$NextObjectGUIDtext.'} in ASF body at offset '.($this->ftell() - 16 - 8)); |
1325 } |
1325 } |
1326 $this->fseek(($NextObjectSize - 16 - 8), SEEK_CUR); |
1326 $this->fseek(($NextObjectSize - 16 - 8), SEEK_CUR); |
1327 break; |
1327 break; |
1328 } |
1328 } |
1329 } |
1329 } |
1915 break; |
1915 break; |
1916 |
1916 |
1917 default: |
1917 default: |
1918 $unhandled_sections++; |
1918 $unhandled_sections++; |
1919 if ($this->GUIDname($thisObject['guid_text'])) { |
1919 if ($this->GUIDname($thisObject['guid_text'])) { |
1920 $this->getid3->info['warning'][] = 'unhandled Header Extension Object GUID "'.$this->GUIDname($thisObject['guid_text']).'" {'.$thisObject['guid_text'].'} at offset '.($offset - 16 - 8); |
1920 $this->warning('unhandled Header Extension Object GUID "'.$this->GUIDname($thisObject['guid_text']).'" {'.$thisObject['guid_text'].'} at offset '.($offset - 16 - 8)); |
1921 } else { |
1921 } else { |
1922 $this->getid3->info['warning'][] = 'unknown Header Extension Object GUID {'.$thisObject['guid_text'].'} in at offset '.($offset - 16 - 8); |
1922 $this->warning('unknown Header Extension Object GUID {'.$thisObject['guid_text'].'} in at offset '.($offset - 16 - 8)); |
1923 } |
1923 } |
1924 break; |
1924 break; |
1925 } |
1925 } |
1926 $HeaderExtensionObjectParsed[] = $thisObject; |
1926 $HeaderExtensionObjectParsed[] = $thisObject; |
1927 |
1927 |