wp/wp-includes/ID3/readme.txt
changeset 16 a86126ab1dd4
parent 5 5e2f62d02dcd
child 19 3d72ae0968f4
--- a/wp/wp-includes/ID3/readme.txt	Tue Oct 22 16:11:46 2019 +0200
+++ b/wp/wp-includes/ID3/readme.txt	Tue Dec 15 13:49:49 2020 +0100
@@ -1,7 +1,7 @@
 /////////////////////////////////////////////////////////////////
 /// getID3() by James Heinrich <info@getid3.org>               //
 //  available at http://getid3.sourceforge.net                 //
-//            or http://www.getid3.org                         //
+//            or https://www.getid3.org                        //
 //          also https://github.com/JamesHeinrich/getID3       //
 /////////////////////////////////////////////////////////////////
 
@@ -18,9 +18,9 @@
 
 GNU LGPL: https://gnu.org/licenses/lgpl.html                 (v3)
 
-Mozilla MPL: http://www.mozilla.org/MPL/2.0/                 (v2)
+Mozilla MPL: https://www.mozilla.org/MPL/2.0/                (v2)
 
-getID3 Commercial License: http://getid3.org/#gCL (payment required)
+getID3 Commercial License: https://www.getid3.org/#gCL (payment required)
 
 *****************************************************************
 *****************************************************************
@@ -28,10 +28,10 @@
 directory of the getID3 distribution.
 
 
-       +---------------------------------------------+
-       | If you want to donate, there is a link on   |
-       | http://www.getid3.org for PayPal donations. |
-       +---------------------------------------------+
+       +----------------------------------------------+
+       | If you want to donate, there is a link on    |
+       | https://www.getid3.org for PayPal donations. |
+       +----------------------------------------------+
 
 
 Quick Start
@@ -77,7 +77,7 @@
  ¤ audio-lossy:
   * MP3/MP2/MP1
   * MPC / Musepack
-  * Ogg (Vorbis, OggFLAC, Speex)
+  * Ogg (Vorbis, OggFLAC, Speex, Opus)
   * AAC / MP4
   * AC3
   * DTS
@@ -145,9 +145,10 @@
 Requirements
 ===========================================================================
 
-* PHP 4.2.0 up to 5.2.x for getID3() 1.7.x (and earlier)
-* PHP 5.0.5 (or higher) for getID3() 1.8.x (and up)
-* PHP 5.0.5 (or higher) for getID3() 2.0.x (and up)
+* PHP 4.2.0 up to 5.2.x for getID3() 1.7.x  (and earlier)
+* PHP 5.0.5 (or higher) for getID3() 1.8.x  (and up)
+* PHP 5.3.0 (or higher) for getID3() 1.9.17 (and up)
+* PHP 5.3.0 (or higher) for getID3() 2.0.x  (and up)
 * at least 4MB memory for PHP. 8MB or more is highly recommended.
   12MB is required with all modules loaded.
 
@@ -177,24 +178,32 @@
 // Copy remote file locally to scan with getID3()
 $remotefilename = 'http://www.example.com/filename.mp3';
 if ($fp_remote = fopen($remotefilename, 'rb')) {
-    $localtempfilename = tempnam('/tmp', 'getID3');
-    if ($fp_local = fopen($localtempfilename, 'wb')) {
-        while ($buffer = fread($fp_remote, 8192)) {
-            fwrite($fp_local, $buffer);
-        }
-        fclose($fp_local);
+	$localtempfilename = tempnam('/tmp', 'getID3');
+	if ($fp_local = fopen($localtempfilename, 'wb')) {
+		while ($buffer = fread($fp_remote, 32768)) {
+			fwrite($fp_local, $buffer);
+		}
+		fclose($fp_local);
+
+		$remote_headers = array_change_key_case(get_headers($remotefilename, 1), CASE_LOWER);
+		$remote_filesize = (isset($remote_headers['content-length']) ? (is_array($remote_headers['content-length']) ? $remote_headers['content-length'][count($remote_headers['content-length']) - 1] : $remote_headers['content-length']) : null);
 
 		// Initialize getID3 engine
 		$getID3 = new getID3;
 
-		$ThisFileInfo = $getID3->analyze($filename);
+		$ThisFileInfo = $getID3->analyze($localtempfilename, $remote_filesize, basename($remotefilename));
 
-        // Delete temporary file
-        unlink($localtempfilename);
-    }
-    fclose($fp_remote);
+		// Delete temporary file
+		unlink($localtempfilename);
+	}
+	fclose($fp_remote);
 }
 
+Note: since v1.9.9-20150212 it is possible a second and third parameter
+to $getID3->analyze(), for original filesize and original filename
+respectively. This permits you to download only a portion of a large remote
+file but get accurate playtime estimates, assuming the format only requires
+the beginning of the file for correct format analysis.
 
 See /demos/demo.write.php for how to write tags.
 
@@ -292,7 +301,7 @@
 
 Future Plans
 ===========================================================================
-http://www.getid3.org/phpBB3/viewforum.php?f=7
+https://www.getid3.org/phpBB3/viewforum.php?f=7
 
 * Better support for MP4 container format
 * Scan for appended ID3v2 tag at end of file per ID3v2.4 specs (Section 5.0)
@@ -334,11 +343,11 @@
 * Optional scan-through-frames for AVI verification
   (thanks rockcohenØmassive-interactive*nl)
 * Support for TTF (thanks infoØbutterflyx*com)
-* Support for DSS (http://www.getid3.org/phpBB3/viewtopic.php?t=171)
+* Support for DSS (https://www.getid3.org/phpBB3/viewtopic.php?t=171)
 * Support for SMAF (http://smaf-yamaha.com/what/demo.html)
-  http://www.getid3.org/phpBB3/viewtopic.php?t=182
-* Support for AMR (http://www.getid3.org/phpBB3/viewtopic.php?t=195)
-* Support for 3gpp (http://www.getid3.org/phpBB3/viewtopic.php?t=195)
+  https://www.getid3.org/phpBB3/viewtopic.php?t=182
+* Support for AMR (https://www.getid3.org/phpBB3/viewtopic.php?t=195)
+* Support for 3gpp (https://www.getid3.org/phpBB3/viewtopic.php?t=195)
 * Support for ID4 (http://www.wackysoft.cjb.net grizlyY2KØhotmail*com)
 * Parse XML data returned in Ogg comments
 * Parse XML data from Quicktime SMIL metafiles (klausrathØmac*com)
@@ -374,7 +383,7 @@
 
 Known Bugs/Issues in getID3() that may be fixed eventually
 ===========================================================================
-http://www.getid3.org/phpBB3/viewtopic.php?t=25
+https://www.getid3.org/phpBB3/viewtopic.php?t=25
 
 * Cannot determine bitrate for MPEG video with VBR video data
   (need documentation)
@@ -400,7 +409,7 @@
 
 Known Bugs/Issues in getID3() that cannot be fixed
 --------------------------------------------------
-http://www.getid3.org/phpBB3/viewtopic.php?t=25
+https://www.getid3.org/phpBB3/viewtopic.php?t=25
 
 * 32-bit PHP installations only:
   Files larger than 2GB cannot always be parsed fully by getID3()
@@ -430,8 +439,15 @@
 
 Known Bugs/Issues in other programs
 -----------------------------------
-http://www.getid3.org/phpBB3/viewtopic.php?t=25
+https://www.getid3.org/phpBB3/viewtopic.php?t=25
 
+* MusicBrainz Picard (at least up to v1.3.2) writes multiple
+  ID3v2.3 genres in non-standard forward-slash separated text
+  rather than parenthesis-numeric+refinement style per the ID3v2.3
+  specs. Tags written in ID3v2.4 mode are written correctly.
+  (detected and worked around by getID3())
+* PZ TagEditor v4.53.408 has been known to insert ID3v2.3 frames
+  into an existing ID3v2.2 tag which, of course, breaks things
 * Windows Media Player (up to v11) and iTunes (up to v10+) do
     not correctly handle ID3v2.3 tags with UTF-16BE+BOM
     encoding (they assume the data is UTF-16LE+BOM and either
@@ -451,6 +467,11 @@
     written just "value"  (detected by getID3())
 * Oggenc 0.9-rc3 flags the encoded file as ABR whether it's
     actually ABR or VBR.
+* iTunes (versions "v7.0.0.70" is known-guilty, probably
+    other versions are too) writes ID3v2.3 comment tags using an
+    ID3v2.2 frame name (3-bytes) null-padded to 4 bytes which is
+    not valid for ID3v2.3+
+    (detected by getID3() since 1.9.12-201603221746)
 * iTunes (versions "X v2.0.3", "v3.0.1" are known-guilty, probably
     other versions are too) writes ID3v2.3 comment tags using a
     frame name 'COM ' which is not valid for ID3v2.3+ (it's an
@@ -601,4 +622,6 @@
 * http://cpansearch.perl.org/src/RGIBSON/Audio-DSS-0.02/lib/Audio/DSS.pm
 * http://trac.musepack.net/trac/wiki/SV8Specification
 * http://wyday.com/cuesharp/specification.php
-* http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Nikon.html
\ No newline at end of file
+* http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/Nikon.html
+* http://www.codeproject.com/Articles/8295/MPEG-Audio-Frame-Header
+* http://dsd-guide.com/sites/default/files/white-papers/DSFFileFormatSpec_E.pdf