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.audio.ogg.php

    r60812 r61289  
    351351            $LastChunkOfOgg = strrev($this->fread($this->getid3->fread_buffer_size()));
    352352            if ($LastOggSpostion = strpos($LastChunkOfOgg, 'SggO')) {
     353                if (substr($LastChunkOfOgg, 13, 8) === "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF") {
     354                    // https://github.com/JamesHeinrich/getID3/issues/450
     355                    // "Sometimes, Opus encoders (WhatsApp voice registrations and others) add a special last header with a granule duration of 0xFFFFFFFFFFFFFF.
     356                    // This value indicates "this is the end," but must be ignored; otherwise, it makes calculations wrong."
     357                    $LastOggSpostion = strpos($LastChunkOfOgg, 'SggO', $LastOggSpostion + 1);
     358                }
    353359                $this->fseek($info['avdataend'] - ($LastOggSpostion + strlen('SggO')));
    354360                $info['avdataend'] = $this->ftell();
Note: See TracChangeset for help on using the changeset viewer.