Make WordPress Core


Ignore:
Timestamp:
11/24/2025 06:36:59 PM (3 months ago)
Author:
SergeyBiryukov
Message:

External Libraries: Update getID3 to version 1.9.24.

In [60812], two changes related to PHP 8.5 compatibility were cherry picked from the upstream repository to be included in time for WordPress 6.9. Since then, a proper release has been tagged which includes several bug fixes in addition to the previous two changes.

HEIF support has also been added to the Quicktime audio/video module.

A full list of changes can be found on GitHub: https://github.com/JamesHeinrich/getID3/releases/tag/v1.9.24

Reviewed by desrosj, SergeyBiryukov.
Merges [61253] to the 6.9 branch.

Props TobiasBg.
Fixes #64253.

Location:
branches/6.9
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/6.9

  • branches/6.9/src/wp-includes/ID3/module.tag.id3v2.php

    r56975 r61289  
    660660            // Identifier              <up to 64 bytes binary data>
    661661            $exploded = explode("\x00", $parsedFrame['data'], 2);
    662             $parsedFrame['ownerid'] = (isset($exploded[0]) ? $exploded[0] : '');
     662            $parsedFrame['ownerid'] = $exploded[0];
    663663            $parsedFrame['data']    = (isset($exploded[1]) ? $exploded[1] : '');
    664664
     
    10691069
    10701070                    $frame_remainingdata = substr($frame_remainingdata, $frame_terminatorpos + strlen($frame_textencoding_terminator));
    1071                     if (($timestampindex == 0) && (ord($frame_remainingdata[0]) != 0)) {
    1072                         // timestamp probably omitted for first data item
    1073                     } else {
    1074                         $parsedFrame['lyrics'][$timestampindex]['timestamp'] = getid3_lib::BigEndian2Int(substr($frame_remainingdata, 0, 4));
    1075                         $frame_remainingdata = substr($frame_remainingdata, 4);
     1071                    if (strlen($frame_remainingdata)) { // https://github.com/JamesHeinrich/getID3/issues/444
     1072                        if (($timestampindex == 0) && (ord($frame_remainingdata[0]) != 0)) {
     1073                            // timestamp probably omitted for first data item
     1074                        } else {
     1075                            $parsedFrame['lyrics'][$timestampindex]['timestamp'] = getid3_lib::BigEndian2Int(substr($frame_remainingdata, 0, 4));
     1076                            $frame_remainingdata = substr($frame_remainingdata, 4);
     1077                        }
     1078                        $timestampindex++;
    10761079                    }
    1077                     $timestampindex++;
    10781080                }
    10791081            }
     
    13051307
    13061308            $frame_offset = 0;
    1307             $parsedFrame['adjustmentbits'] = substr($parsedFrame['data'], $frame_offset++, 1);
     1309            $parsedFrame['adjustmentbits'] = ord(substr($parsedFrame['data'], $frame_offset++, 1));
    13081310            $frame_adjustmentbytes = ceil($parsedFrame['adjustmentbits'] / 8);
    13091311
Note: See TracChangeset for help on using the changeset viewer.