| @@ 29-32 (lines=4) @@ | ||
| 26 | $this->fseek($info['avdataoffset']); |
|
| 27 | $DSSheader = $this->fread(1540); |
|
| 28 | ||
| 29 | if (!preg_match('#^[\\x02-\\x08]ds[s2]#', $DSSheader)) { |
|
| 30 | $this->error('Expecting "[02-08] 64 73 [73|32]" at offset '.$info['avdataoffset'].', found "'.getid3_lib::PrintHexBytes(substr($DSSheader, 0, 4)).'"'); |
|
| 31 | return false; |
|
| 32 | } |
|
| 33 | ||
| 34 | // some structure information taken from http://cpansearch.perl.org/src/RGIBSON/Audio-DSS-0.02/lib/Audio/DSS.pm |
|
| 35 | $info['encoding'] = 'ISO-8859-1'; // not certain, but assumed |
|
| @@ 741-743 (lines=3) @@ | ||
| 738 | if ($atom_structure['number_entries'] > 0x00FFFFFF) { |
|
| 739 | $this->warning('"stsd" atom contains improbably large number_entries (0x'.getid3_lib::PrintHexBytes(substr($atom_data, 4, 4), true, false).' = '.$atom_structure['number_entries'].'), probably in error. Ignoring upper byte and interpreting this as 0x'.getid3_lib::PrintHexBytes(substr($atom_data, 5, 3), true, false).' = '.($atom_structure['number_entries'] & 0x00FFFFFF)); |
|
| 740 | $atom_structure['number_entries'] = ($atom_structure['number_entries'] & 0x00FFFFFF); |
|
| 741 | } else { |
|
| 742 | $this->warning('"stsd" atom contains improbably large number_entries (0x'.getid3_lib::PrintHexBytes(substr($atom_data, 4, 4), true, false).' = '.$atom_structure['number_entries'].'), probably in error. Please report this to [email protected] referencing bug report #111'); |
|
| 743 | } |
|
| 744 | } |
|
| 745 | ||
| 746 | $stsdEntriesDataOffset = 8; |
|