|
@@ 672-674 (lines=3) @@
|
| 669 |
|
$frame_textencoding_terminator = "\x00"; |
| 670 |
|
} |
| 671 |
|
$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset); |
| 672 |
|
if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) { |
| 673 |
|
$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00 |
| 674 |
|
} |
| 675 |
|
$parsedFrame['description'] = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset); |
| 676 |
|
$parsedFrame['description'] = $this->MakeUTF16emptyStringEmpty($parsedFrame['description']); |
| 677 |
|
$parsedFrame['encodingid'] = $frame_textencoding; |
|
@@ 764-766 (lines=3) @@
|
| 761 |
|
$frame_textencoding_terminator = "\x00"; |
| 762 |
|
} |
| 763 |
|
$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset); |
| 764 |
|
if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) { |
| 765 |
|
$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00 |
| 766 |
|
} |
| 767 |
|
$parsedFrame['encodingid'] = $frame_textencoding; |
| 768 |
|
$parsedFrame['encoding'] = $this->TextEncodingNameLookup($frame_textencoding); |
| 769 |
|
$parsedFrame['description'] = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset); // according to the frame text encoding |
|
@@ 990-992 (lines=3) @@
|
| 987 |
|
$frame_language = substr($parsedFrame['data'], $frame_offset, 3); |
| 988 |
|
$frame_offset += 3; |
| 989 |
|
$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset); |
| 990 |
|
if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) { |
| 991 |
|
$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00 |
| 992 |
|
} |
| 993 |
|
$parsedFrame['description'] = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset); |
| 994 |
|
$parsedFrame['description'] = $this->MakeUTF16emptyStringEmpty($parsedFrame['description']); |
| 995 |
|
$parsedFrame['data'] = substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator)); |
|
@@ 1051-1053 (lines=3) @@
|
| 1048 |
|
if ($frame_terminatorpos === false) { |
| 1049 |
|
$frame_remainingdata = ''; |
| 1050 |
|
} else { |
| 1051 |
|
if (ord(substr($frame_remainingdata, $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) { |
| 1052 |
|
$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00 |
| 1053 |
|
} |
| 1054 |
|
$parsedFrame['lyrics'][$timestampindex]['data'] = substr($frame_remainingdata, $frame_offset, $frame_terminatorpos - $frame_offset); |
| 1055 |
|
|
| 1056 |
|
$frame_remainingdata = substr($frame_remainingdata, $frame_terminatorpos + strlen($frame_textencoding_terminator)); |
|
@@ 1095-1097 (lines=3) @@
|
| 1092 |
|
$frame_language = substr($parsedFrame['data'], $frame_offset, 3); |
| 1093 |
|
$frame_offset += 3; |
| 1094 |
|
$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset); |
| 1095 |
|
if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) { |
| 1096 |
|
$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00 |
| 1097 |
|
} |
| 1098 |
|
$parsedFrame['description'] = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset); |
| 1099 |
|
$parsedFrame['description'] = $this->MakeUTF16emptyStringEmpty($parsedFrame['description']); |
| 1100 |
|
$frame_text = (string) substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator)); |
|
@@ 1397-1399 (lines=3) @@
|
| 1394 |
|
$this->warning('data portion of APIC frame is missing at offset '.($parsedFrame['dataoffset'] + 8 + $frame_offset)); |
| 1395 |
|
} else { |
| 1396 |
|
$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset); |
| 1397 |
|
if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) { |
| 1398 |
|
$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00 |
| 1399 |
|
} |
| 1400 |
|
$parsedFrame['description'] = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset); |
| 1401 |
|
$parsedFrame['description'] = $this->MakeUTF16emptyStringEmpty($parsedFrame['description']); |
| 1402 |
|
$parsedFrame['encodingid'] = $frame_textencoding; |
|
@@ 1510-1512 (lines=3) @@
|
| 1507 |
|
$frame_offset = $frame_terminatorpos + strlen("\x00"); |
| 1508 |
|
|
| 1509 |
|
$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset); |
| 1510 |
|
if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) { |
| 1511 |
|
$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00 |
| 1512 |
|
} |
| 1513 |
|
$frame_filename = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset); |
| 1514 |
|
if (ord($frame_filename) === 0) { |
| 1515 |
|
$frame_filename = ''; |
|
@@ 1520-1522 (lines=3) @@
|
| 1517 |
|
$frame_offset = $frame_terminatorpos + strlen($frame_textencoding_terminator); |
| 1518 |
|
|
| 1519 |
|
$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset); |
| 1520 |
|
if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) { |
| 1521 |
|
$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00 |
| 1522 |
|
} |
| 1523 |
|
$parsedFrame['description'] = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset); |
| 1524 |
|
$parsedFrame['description'] = $this->MakeUTF16emptyStringEmpty($parsedFrame['description']); |
| 1525 |
|
$frame_offset = $frame_terminatorpos + strlen($frame_textencoding_terminator); |
|
@@ 1788-1790 (lines=3) @@
|
| 1785 |
|
$frame_receivedasid = ord(substr($parsedFrame['data'], $frame_offset++, 1)); |
| 1786 |
|
|
| 1787 |
|
$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset); |
| 1788 |
|
if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) { |
| 1789 |
|
$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00 |
| 1790 |
|
} |
| 1791 |
|
$frame_sellername = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset); |
| 1792 |
|
if (ord($frame_sellername) === 0) { |
| 1793 |
|
$frame_sellername = ''; |
|
@@ 1798-1800 (lines=3) @@
|
| 1795 |
|
$frame_offset = $frame_terminatorpos + strlen($frame_textencoding_terminator); |
| 1796 |
|
|
| 1797 |
|
$frame_terminatorpos = strpos($parsedFrame['data'], $frame_textencoding_terminator, $frame_offset); |
| 1798 |
|
if (ord(substr($parsedFrame['data'], $frame_terminatorpos + strlen($frame_textencoding_terminator), 1)) === 0) { |
| 1799 |
|
$frame_terminatorpos++; // strpos() fooled because 2nd byte of Unicode chars are often 0x00 |
| 1800 |
|
} |
| 1801 |
|
$parsedFrame['description'] = substr($parsedFrame['data'], $frame_offset, $frame_terminatorpos - $frame_offset); |
| 1802 |
|
$parsedFrame['description'] = $this->MakeUTF16emptyStringEmpty($parsedFrame['description']); |
| 1803 |
|
$frame_offset = $frame_terminatorpos + strlen($frame_textencoding_terminator); |