Ignore:
Timestamp:
Dec 30, 2018, 6:02:45 PM (6 months ago)
Author:
spip.franck@…
Message:

Mise à jour de la lib getid en version 1.9.16, nous étions en 1.9.14
https://github.com/JamesHeinrich/getID3/blob/master/changelog.txt

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _core_/branches/spip-3.2/plugins/medias/lib/getid3/module.audio-video.matroska.php

    r106592 r113162  
    11<?php
     2
    23/////////////////////////////////////////////////////////////////
    34/// getID3() by James Heinrich <info@getid3.org>               //
    4 //  available at http://getid3.sourceforge.net                 //
    5 //            or http://www.getid3.org                         //
    6 //          also https://github.com/JamesHeinrich/getID3       //
    7 /////////////////////////////////////////////////////////////////
    8 // See readme.txt for more details                             //
     5//  available at https://github.com/JamesHeinrich/getID3       //
     6//            or https://www.getid3.org                        //
     7//            or http://getid3.sourceforge.net                 //
     8//  see readme.txt for more details                            //
    99/////////////////////////////////////////////////////////////////
    1010//                                                             //
     
    7373define('EBML_ID_FILEUID',                       0x06AE); //         [46][AE] -- Unique ID representing the file, as random as possible.
    7474define('EBML_ID_CONTENTENCALGO',                0x07E1); //         [47][E1] -- The encryption algorithm used. The value '0' means that the contents have not been encrypted but only signed. Predefined values:
    75 define('EBML_ID_CONTENTENCKEYID',               0x07E2); //         [47][E2] -- For public key algorithms this is the ID of the public key the the data was encrypted with.
     75define('EBML_ID_CONTENTENCKEYID',               0x07E2); //         [47][E2] -- For public key algorithms this is the ID of the public key the data was encrypted with.
    7676define('EBML_ID_CONTENTSIGNATURE',              0x07E3); //         [47][E3] -- A cryptographic signature of the contents.
    7777define('EBML_ID_CONTENTSIGKEYID',               0x07E4); //         [47][E4] -- This is the ID of the private key the data was signed with.
     
    216216class getid3_matroska extends getid3_handler
    217217{
    218         // public options
    219         public static $hide_clusters    = true;  // if true, do not return information about CLUSTER chunks, since there's a lot of them and they're not usually useful [default: TRUE]
    220         public static $parse_whole_file = false; // true to parse the whole file, not only header [default: FALSE]
    221 
    222         // private parser settings/placeholders
     218        /**
     219         * If true, do not return information about CLUSTER chunks, since there's a lot of them
     220         * and they're not usually useful [default: TRUE].
     221         *
     222         * @var bool
     223         */
     224        public static $hide_clusters    = true;
     225
     226        /**
     227         * True to parse the whole file, not only header [default: FALSE].
     228         *
     229         * @var bool
     230         */
     231        public static $parse_whole_file = false;
     232
     233        /*
     234         * Private parser settings/placeholders.
     235         */
    223236        private $EBMLbuffer        = '';
    224237        private $EBMLbuffer_offset = 0;
     
    227240        private $unuseful_elements = array(EBML_ID_CRC32, EBML_ID_VOID);
    228241
     242        /**
     243         * @return bool
     244         */
    229245        public function Analyze()
    230246        {
     
    367383                                                                        $info['matroska']['track_codec_parsed'][$trackarray['TrackNumber']] = $getid3_temp->info[$header_data_key];
    368384                                                                        if (isset($getid3_temp->info['audio']) && is_array($getid3_temp->info['audio'])) {
    369                                                                                 foreach ($getid3_temp->info['audio'] as $key => $value) {
    370                                                                                         $track_info[$key] = $value;
     385                                                                                foreach ($getid3_temp->info['audio'] as $sub_key => $value) {
     386                                                                                        $track_info[$sub_key] = $value;
    371387                                                                                }
    372388                                                                        }
     
    422438                                                                        $info['matroska']['track_codec_parsed'][$trackarray['TrackNumber']] = $getid3_temp->info['ogg'];
    423439                                                                        if (isset($getid3_temp->info['audio']) && is_array($getid3_temp->info['audio'])) {
    424                                                                                 foreach ($getid3_temp->info['audio'] as $key => $value) {
    425                                                                                         $track_info[$key] = $value;
     440                                                                                foreach ($getid3_temp->info['audio'] as $sub_key => $value) {
     441                                                                                        $track_info[$sub_key] = $value;
    426442                                                                                }
    427443                                                                        }
     
    450466
    451467                                                                $parsed = getid3_riff::parseWAVEFORMATex($trackarray['CodecPrivate']);
    452                                                                 foreach ($parsed as $key => $value) {
    453                                                                         if ($key != 'raw') {
    454                                                                                 $track_info[$key] = $value;
     468                                                                foreach ($parsed as $sub_key => $value) {
     469                                                                        if ($sub_key != 'raw') {
     470                                                                                $track_info[$sub_key] = $value;
    455471                                                                        }
    456472                                                                }
     
    497513        }
    498514
     515        /**
     516         * @param array $info
     517         */
    499518        private function parseEBML(&$info) {
    500519                // http://www.matroska.org/technical/specs/index.html#EBMLBasics
     
    12291248        }
    12301249
     1250        /**
     1251         * @param int $min_data
     1252         *
     1253         * @return bool
     1254         */
    12311255        private function EnsureBufferHasEnoughData($min_data=1024) {
    12321256                if (($this->current_offset - $this->EBMLbuffer_offset) >= ($this->EBMLbuffer_length - $min_data)) {
     
    12501274        }
    12511275
     1276        /**
     1277         * @return int|float|false
     1278         */
    12521279        private function readEBMLint() {
    12531280                $actual_offset = $this->current_offset - $this->EBMLbuffer_offset;
     
    12821309        }
    12831310
     1311        /**
     1312         * @param int  $length
     1313         * @param bool $check_buffer
     1314         *
     1315         * @return string|false
     1316         */
    12841317        private function readEBMLelementData($length, $check_buffer=false) {
    12851318                if ($check_buffer && !$this->EnsureBufferHasEnoughData($length)) {
     
    12911324        }
    12921325
     1326        /**
     1327         * @param array      $element
     1328         * @param int        $parent_end
     1329         * @param array|bool $get_data
     1330         *
     1331         * @return bool
     1332         */
    12931333        private function getEBMLelement(&$element, $parent_end, $get_data=false) {
    12941334                if ($this->current_offset >= $parent_end) {
     
    13271367        }
    13281368
     1369        /**
     1370         * @param string $type
     1371         * @param int    $line
     1372         * @param array  $element
     1373         */
    13291374        private function unhandledElement($type, $line, $element) {
    13301375                // warn only about unknown and missed elements, not about unuseful
     
    13391384        }
    13401385
     1386        /**
     1387         * @param array $SimpleTagArray
     1388         *
     1389         * @return bool
     1390         */
    13411391        private function ExtractCommentsSimpleTag($SimpleTagArray) {
    13421392                if (!empty($SimpleTagArray['SimpleTag'])) {
     
    13541404        }
    13551405
     1406        /**
     1407         * @param int $parent_end
     1408         *
     1409         * @return array
     1410         */
    13561411        private function HandleEMBLSimpleTag($parent_end) {
    13571412                $simpletag_entry = array();
     
    13841439        }
    13851440
     1441        /**
     1442         * @param array $element
     1443         * @param int   $block_type
     1444         * @param array $info
     1445         *
     1446         * @return array
     1447         */
    13861448        private function HandleEMBLClusterBlock($element, $block_type, &$info) {
    13871449                // http://www.matroska.org/technical/specs/index.html#block_structure
     
    14471509        }
    14481510
     1511        /**
     1512         * @param string $EBMLstring
     1513         *
     1514         * @return int|float|false
     1515         */
    14491516        private static function EBML2Int($EBMLstring) {
    14501517                // http://matroska.org/specs/
     
    14891556        }
    14901557
     1558        /**
     1559         * @param int $EBMLdatestamp
     1560         *
     1561         * @return float
     1562         */
    14911563        private static function EBMLdate2unix($EBMLdatestamp) {
    14921564                // Date - signed 8 octets integer in nanoseconds with 0 indicating the precise beginning of the millennium (at 2001-01-01T00:00:00,000000000 UTC)
     
    14951567        }
    14961568
     1569        /**
     1570         * @param int $target_type
     1571         *
     1572         * @return string|int
     1573         */
    14971574        public static function TargetTypeValue($target_type) {
    14981575                // http://www.matroska.org/technical/specs/tagging/index.html
     
    15101587        }
    15111588
     1589        /**
     1590         * @param int $lacingtype
     1591         *
     1592         * @return string|int
     1593         */
    15121594        public static function BlockLacingType($lacingtype) {
    15131595                // http://matroska.org/technical/specs/index.html#block_structure
     
    15221604        }
    15231605
     1606        /**
     1607         * @param string $codecid
     1608         *
     1609         * @return string
     1610         */
    15241611        public static function CodecIDtoCommonName($codecid) {
    15251612                // http://www.matroska.org/technical/specs/codecid/index.html
     
    15581645        }
    15591646
     1647        /**
     1648         * @param int $value
     1649         *
     1650         * @return string
     1651         */
    15601652        private static function EBMLidName($value) {
    15611653                static $EBMLidList = array();
     
    17561848        }
    17571849
     1850        /**
     1851         * @param int $value
     1852         *
     1853         * @return string
     1854         */
    17581855        public static function displayUnit($value) {
    17591856                // http://www.matroska.org/technical/specs/index.html#DisplayUnit
     
    17671864        }
    17681865
     1866        /**
     1867         * @param array $streams
     1868         *
     1869         * @return array
     1870         */
    17691871        private static function getDefaultStreamInfo($streams)
    17701872        {
     1873                $stream = array();
    17711874                foreach (array_reverse($streams) as $stream) {
    17721875                        if ($stream['default']) {
Note: See TracChangeset for help on using the changeset viewer.