WordPress.org

Make WordPress Core


Ignore:
Timestamp:
07/31/2017 07:49:31 PM (4 years ago)
Author:
wonderboymusic
Message:

Media: update the getID3 library to version 1.9.14 to avoid fatal errors in PHP7.

Props MyThemeShop for the initial patch.
Fixes #41496.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/ID3/module.audio-video.matroska.php

    r32979 r41196  
    235235            $this->parseEBML($info);
    236236        } catch (Exception $e) {
    237             $info['error'][] = 'EBML parser: '.$e->getMessage();
     237            $this->error('EBML parser: '.$e->getMessage());
    238238        }
    239239
     
    331331
    332332                            case 'A_AC3':
     333                            case 'A_EAC3':
    333334                            case 'A_DTS':
    334335                            case 'A_MPEG/L3':
    335336                            case 'A_MPEG/L2':
    336337                            case 'A_FLAC':
    337                                 getid3_lib::IncludeDependency(GETID3_INCLUDEPATH.'module.audio.'.($track_info['dataformat'] == 'mp2' ? 'mp3' : $track_info['dataformat']).'.php', __FILE__, true);
     338                                $module_dataformat = ($track_info['dataformat'] == 'mp2' ? 'mp3' : ($track_info['dataformat'] == 'eac3' ? 'ac3' : $track_info['dataformat']));
     339                                getid3_lib::IncludeDependency(GETID3_INCLUDEPATH.'module.audio.'.$module_dataformat.'.php', __FILE__, true);
    338340
    339341                                if (!isset($info['matroska']['track_data_offsets'][$trackarray['TrackNumber']])) {
     
    353355
    354356                                // analyze
    355                                 $class = 'getid3_'.($track_info['dataformat'] == 'mp2' ? 'mp3' : $track_info['dataformat']);
     357                                $class = 'getid3_'.$module_dataformat;
    356358                                $header_data_key = $track_info['dataformat'][0] == 'm' ? 'mpeg' : $track_info['dataformat'];
    357359                                $getid3_audio = new $class($getid3_temp, __CLASS__);
     
    458460                            default:
    459461                                $this->warning('Unhandled audio type "'.(isset($trackarray['CodecID']) ? $trackarray['CodecID'] : '').'"');
     462                                break;
    460463                        }
    461464
     
    525528                            default:
    526529                                $this->unhandledElement('header', __LINE__, $element_data);
     530                                break;
    527531                        }
    528532
     
    563567                                                    default:
    564568                                                        $this->unhandledElement('seekhead.seek', __LINE__, $sub_seek_entry);                                                }
     569                                                        break;
    565570                                            }
    566 
    567                                             if ($seek_entry['target_id'] != EBML_ID_CLUSTER || !self::$hide_clusters) { // collect clusters only if required
     571                                            if (!isset($seek_entry['target_id'])) {
     572                                                $this->warning('seek_entry[target_id] unexpectedly not set at '.$seek_entry['offset']);
     573                                                break;
     574                                            }
     575                                            if (($seek_entry['target_id'] != EBML_ID_CLUSTER) || !self::$hide_clusters) { // collect clusters only if required
    568576                                                $info['matroska']['seek'][] = $seek_entry;
    569577                                            }
     
    572580                                        default:
    573581                                            $this->unhandledElement('seekhead', __LINE__, $seek_entry);
     582                                            break;
    574583                                    }
    575584                                }
     
    654663                                                                default:
    655664                                                                    $this->unhandledElement('track.video', __LINE__, $sub_subelement);
     665                                                                    break;
    656666                                                            }
    657667                                                        }
     
    679689                                                                default:
    680690                                                                    $this->unhandledElement('track.audio', __LINE__, $sub_subelement);
     691                                                                    break;
    681692                                                            }
    682693                                                        }
     
    714725                                                                                        default:
    715726                                                                                            $this->unhandledElement('track.contentencodings.contentencoding.contentcompression', __LINE__, $sub_sub_sub_subelement);
     727                                                                                            break;
    716728                                                                                    }
    717729                                                                                }
     
    737749                                                                                        default:
    738750                                                                                            $this->unhandledElement('track.contentencodings.contentencoding.contentcompression', __LINE__, $sub_sub_sub_subelement);
     751                                                                                            break;
    739752                                                                                    }
    740753                                                                                }
     
    743756                                                                            default:
    744757                                                                                $this->unhandledElement('track.contentencodings.contentencoding', __LINE__, $sub_sub_subelement);
     758                                                                                break;
    745759                                                                        }
    746760                                                                    }
     
    749763                                                                default:
    750764                                                                    $this->unhandledElement('track.contentencodings', __LINE__, $sub_subelement);
     765                                                                    break;
    751766                                                            }
    752767                                                        }
     
    755770                                                    default:
    756771                                                        $this->unhandledElement('track', __LINE__, $subelement);
     772                                                        break;
    757773                                                }
    758774                                            }
     
    763779                                        default:
    764780                                            $this->unhandledElement('tracks', __LINE__, $track_entry);
     781                                            break;
    765782                                    }
    766783                                }
     
    826843                                                    default:
    827844                                                        $this->unhandledElement('info.chaptertranslate', __LINE__, $sub_subelement);
     845                                                        break;
    828846                                                }
    829847                                            }
     
    833851                                        default:
    834852                                            $this->unhandledElement('info', __LINE__, $subelement);
     853                                            break;
    835854                                    }
    836855                                }
     
    869888                                                                default:
    870889                                                                    $this->unhandledElement('cues.cuepoint.cuetrackpositions', __LINE__, $sub_sub_subelement);
     890                                                                    break;
    871891                                                            }
    872892                                                        }
     
    880900                                                    default:
    881901                                                        $this->unhandledElement('cues.cuepoint', __LINE__, $sub_subelement);
     902                                                        break;
    882903                                                }
    883904                                            }
     
    887908                                        default:
    888909                                            $this->unhandledElement('cues', __LINE__, $subelement);
     910                                            break;
    889911                                    }
    890912                                }
     
    928950                                                                default:
    929951                                                                    $this->unhandledElement('tags.tag.targets', __LINE__, $sub_sub_subelement);
     952                                                                    break;
    930953                                                            }
    931954                                                        }
     
    939962                                                    default:
    940963                                                        $this->unhandledElement('tags.tag', __LINE__, $sub_subelement);
     964                                                        break;
    941965                                                }
    942966                                            }
     
    946970                                        default:
    947971                                            $this->unhandledElement('tags', __LINE__, $subelement);
     972                                            break;
    948973                                    }
    949974                                }
     
    9861011                                                    default:
    9871012                                                        $this->unhandledElement('attachments.attachedfile', __LINE__, $sub_subelement);
     1013                                                        break;
    9881014                                                }
    9891015                                            }
     
    9931019                                        default:
    9941020                                            $this->unhandledElement('attachments', __LINE__, $subelement);
     1021                                            break;
    9951022                                    }
    9961023                                }
     
    10521079                                                                            default:
    10531080                                                                                $this->unhandledElement('chapters.editionentry.chapteratom.chaptertrack', __LINE__, $sub_sub_sub_subelement);
     1081                                                                                break;
    10541082                                                                        }
    10551083                                                                    }
     
    10711099                                                                            default:
    10721100                                                                                $this->unhandledElement('chapters.editionentry.chapteratom.chapterdisplay', __LINE__, $sub_sub_sub_subelement);
     1101                                                                                break;
    10731102                                                                        }
    10741103                                                                    }
     
    10781107                                                                default:
    10791108                                                                    $this->unhandledElement('chapters.editionentry.chapteratom', __LINE__, $sub_sub_subelement);
     1109                                                                    break;
    10801110                                                            }
    10811111                                                        }
     
    10851115                                                    default:
    10861116                                                        $this->unhandledElement('chapters.editionentry', __LINE__, $sub_subelement);
     1117                                                        break;
    10871118                                                }
    10881119                                            }
     
    10921123                                        default:
    10931124                                            $this->unhandledElement('chapters', __LINE__, $subelement);
     1125                                            break;
    10941126                                    }
    10951127                                }
     
    11201152                                                    default:
    11211153                                                        $this->unhandledElement('cluster.silenttracks', __LINE__, $sub_subelement);
     1154                                                        break;
    11221155                                                }
    11231156                                            }
     
    11501183                                                    default:
    11511184                                                        $this->unhandledElement('clusters.blockgroup', __LINE__, $sub_subelement);
     1185                                                        break;
    11521186                                                }
    11531187                                            }
     
    11611195                                        default:
    11621196                                            $this->unhandledElement('cluster', __LINE__, $subelement);
     1197                                            break;
    11631198                                    }
    11641199                                    $this->current_offset = $subelement['end'];
     
    11821217                            default:
    11831218                                $this->unhandledElement('segment', __LINE__, $element_data);
     1219                                break;
    11841220                        }
    11851221                    }
     
    11881224                default:
    11891225                    $this->unhandledElement('root', __LINE__, $top_element);
     1226                    break;
    11901227            }
    11911228        }
     
    13401377                default:
    13411378                    $this->unhandledElement('tag.simpletag', __LINE__, $element);
     1379                    break;
    13421380            }
    13431381        }
     
    14911529            $CodecIDlist['A_AAC/MPEG2/LC']   = 'aac';
    14921530            $CodecIDlist['A_AC3']            = 'ac3';
     1531            $CodecIDlist['A_EAC3']           = 'eac3';
    14931532            $CodecIDlist['A_DTS']            = 'dts';
    14941533            $CodecIDlist['A_FLAC']           = 'flac';
Note: See TracChangeset for help on using the changeset viewer.