summaryrefslogtreecommitdiffstats
path: root/modules/id3/structure.txt
diff options
context:
space:
mode:
authorKarl 'vollmerk' Vollmer <vollmer@ampache.org>2007-04-23 07:31:05 +0000
committerKarl 'vollmerk' Vollmer <vollmer@ampache.org>2007-04-23 07:31:05 +0000
commita31560aec4f004e58930277758f5412d86c62adc (patch)
tree845ff6947d26b22a0f4527901dbefc97bca89d78 /modules/id3/structure.txt
parent8b27d66add7ca9ba57d7e9488612cb54be4b11c1 (diff)
downloadampache-a31560aec4f004e58930277758f5412d86c62adc.tar.gz
ampache-a31560aec4f004e58930277758f5412d86c62adc.tar.bz2
ampache-a31560aec4f004e58930277758f5412d86c62adc.zip
it technically logs in and streams.. but thats it, complete rewrite almost everything broken
Diffstat (limited to 'modules/id3/structure.txt')
-rw-r--r--modules/id3/structure.txt2247
1 files changed, 0 insertions, 2247 deletions
diff --git a/modules/id3/structure.txt b/modules/id3/structure.txt
deleted file mode 100644
index 0d506cf8..00000000
--- a/modules/id3/structure.txt
+++ /dev/null
@@ -1,2247 +0,0 @@
-/////////////////////////////////////////////////////////////////
-/// getID3() by James Heinrich <info@getid3.org> //
-// available at http://getid3.sourceforge.net //
-// or http://www.getid3.org //
-/////////////////////////////////////////////////////////////////
-// //
-// changelog.txt - part of getID3() //
-// See readme.txt for more details //
-// ///
-/////////////////////////////////////////////////////////////////
-
-What does the returned data structure look like?
-================================================
-
-Note that what is described below is only a rough guide to what data
-is actually returned by getID3(), since the actual data returned
-depends entirely on what data is in your file, what type of file it
-is, what kind of data is in the tags, etc. In addition, some formats
-(Quicktime for example) use a freeform recursive structure that is
-impossible to document completely.
-
-In the vast majority of cases, all the data you'll need is located
-in the root of the array or the special arrays described below in
-Section 1 (['audio'], ['video'], ['tags_html'], ['replay_gain']).
-
-It is suggested that for most applications you should use tag data
-from the root ['tags_html'] array, as this is the only location
-where data is stored in a consistant format: HTML-compatible
-character entities (ie &#1234;) for characters outside the 0x20-0x7F
-range (printable ISO-8859-1 characters). This data can be used as-is
-for output in HTML, and can be converted to whatever character set
-you wish to use if the output is not HTML.
-
-If you want to merge all available tags (for example, ID3v2 + ID3v1)
-into one array, you can call
-getid3_lib::CopyTagsToComments($ThisFileInfo)
-and you'll then have ['comments'] and ['comments_html'] which are
-identical to ['tags'] and ['tags_html'] except the array is one
-dimension shorter (no tag type array keys). For example, artist is:
-['tags_html']['id3v1']['artist'][0] or ['comments_html']['artist'][0]
-
-
-Some commonly-used information is found in these locations:
-
-File type: ['fileformat'] // ex 'mp3'
-Song length: ['playtime_string'] // ex '3:45' (minutes:seconds)
- ['playtime_seconds'] // ex 225.13 (seconds)
-Overall bitrate: ['bitrate'] // ex 113485.71 (bits-per-second - divide by 1000 for kbps)
-Audio frequency: ['audio']['sample_rate'] // ex 44100 (Hertz)
-Artist name: ['comments_html']['artist'][0] // ex 'Elvis' (if CopyTagsToComments() is used - see above)
- // more than one artist may be present, you may want to use implode:
- // implode(' & ', ['comments_html']['artist'])
-
-
-/////////////////////////////////////////////////////////////////
-
-array() {
- // SECTION 1: Values that are present for most or all file types
-
- ['getID3version']=>string() // version of getID3() that scanned this file (ex: '1.6.2')
- ['error']=>array() // if present, contains one or more fatal error messages
- ['warning']=>array() // if present, contains one or more non-fatal warning messages
- ['exist']=>boolean() // does this file actually exist?
- ['fileformat']=>string() // one of the standard filetype abbreviations ('mp3', 'riff', 'quicktime', etc)
- ['filename']=>string() // filename only, no path
- ['filenamepath']=>string() // full filename with path
- ['filepath']=>string() // path to file, not including filename
- ['filesize']=>integer() // filesize in bytes
- ['md5_file']=>string() // md5 hash of entire file
- ['md5_data']=>string() // md5 hash of portion of file excluding prepended and appeneded metainformation tags (ID3, APE, etc) - may be identical to ['md5_file']
- ['md5_data_source']=>string() // md5 hash of original source file before compression (currently used by FLAC, OptimFROG, WavPack v4+)
- ['sha1_file']=>string() // sha1 hash of entire file
- ['sha1_data']=>string() // sha1 hash of portion of file excluding prepended and appeneded metainformation tags (ID3, APE, etc) - may be identical to ['md5_file']
- ['avdataoffset']=>integer() // offset in bytes where audio/video data starts and prepended tags end
- ['avdataend']=>integer() // offset in bytes where audio/video data ends and appended tags start
- ['bitrate']=>double() // average bitrate for entire file (all audio/video streams), in bits per second
- ['mime_type']=>string() // if present, MIME type of scanned file
- ['playtime_seconds']=>double() // playing time of file, in seconds
- ['playtime_string']=>string() // playing time of file, formatted as <minutes>:<seconds>
- ['tags']=>array() // array of all metainformation tags present in file ('id3v1', 'id3v2', 'ape', 'riff', 'asf', etc)
- ['audio']=>array() {
- ['bitrate']=>double() // average bitrate for audio portion of file (all audio streams), in bits per second
- ['bitrate_mode']=>string() // 'cbr' (Constant Bit Rate) or 'vbr' (Variable Bit Rate)
- ['bits_per_sample']=>integer() //
- ['channelmode']=>string() // 'mono' or 'stereo'
- ['channels']=>integer() // number of audio channels
- ['codec']=>string() // name of audio compression codec
- ['compression_ratio']=>double() // ratio of compressed byte size of audio to uncompressed size
- ['dataformat']=>string() // one of the standard filetype abbreviations ('mp3', 'wma', etc)
- ['encoder']=>string() // name and version of encoder used to create file, if known
- ['lossless']=>boolean() // true = lossless compression; false = lossy compression
- ['sample_rate']=>integer()
- }
- ['video']=>array() {
- ['bitrate']=>integer() // average bitrate for video portion of file (all video streams), in bits per second
- ['bitrate_mode']=>string() // 'cbr' (Constant Bit Rate) or 'vbr' (Variable Bit Rate)
- ['bits_per_sample']=>integer() //
- ['codec']=>string() // name of video compression codec
- ['compression_ratio']=>double() // ratio of compressed byte size of video to uncompressed size
- ['dataformat']=>string() // one of the standard filetype abbreviations ('avi', 'mpeg', etc)
- ['encoder']=>string() // name and version of encoder used to create file, if known
- ['frame_rate']=>double() // frames per second
- ['lossless']=>boolean() // true = lossless compression; false = lossy compression
- ['resolution_x']=>integer() // horizontal dimension of video/image in pixels
- ['resolution_y']=>integer() // vertical dimension of video/image in pixels
- ['pixel_aspect_ratio']=>double() // pixel display aspect ratio
- }
- ['tags']=>array() { // array of array of strings containing best data from any available metainformation tag (APE, ID3v2, ID3v1, Lyrics3, Vorbis, ASF, RIFF, Real, etc.)
- [<key name>]=>array() // <key name> can be anything, usually 'artist', 'title', etc. Contains array of one or more values (eg: multiple artists are possible)
- }
- ['tags_html']=>array() { // identical to ['tags'], but with all entries converted to HTML entities as appropriate from various source encodings
- [<key name>]=>array() //
- }
- ['replay_gain']=>array() { // replay gain information combined from any source that contains this information (LAME, ID3v2, Vorbis, APE, etc)
- ['audiophile']=>array() {
- ['adjustment']=>double()
- ['originator']=>string()
- ['peak']=>double()
- }
- ['radio']=>array() {
- ['adjustment']=>double()
- ['originator']=>string()
- ['peak']=>double()
- }
- }
-
-
- // SECTION 2: Values that are present for specific file types only
-
- ['aac']=>array() { // AAC - Advanced Audio Coding / MPEG-4
- ['bitrate_distribution']=>array() //
- ['header']=>array() { //
- ['channel_configuration']=>integer() //
- ['crc_present']=>boolean() //
- ['home']=>boolean() //
- ['layer']=>integer() //
- ['mpeg_version']=>integer() //
- ['original']=>boolean() //
- ['private']=>boolean() //
- ['profile_id']=>integer() //
- ['profile_text']=>string() //
- ['sample_frequency']=>integer() //
- ['sample_frequency_index']=>integer() //
- ['synch']=>integer() //
- } //
- ['header_type']=>string() //
- } //
- //
- ['ape']=>array() //
- { //
- ['comments']=>array() { // array of array of strings containing best data from any available metainformation tag (APE, ID3v2, ID3v1, Lyrics3, Vorbis, ASF, RIFF, Real, etc.)
- [<key name>]=>array() // <key name> can be anything, usually 'artist', 'title', etc. Contains array of one or more values (eg: multiple artists are possible)
- } //
- ['footer']=>array() //
- { //
- ['flags']=>array() //
- ['raw']=>array() //
- ['tag_version']=>integer() //
- } //
- ['header']=>array() //
- { //
- ['flags']=>array() //
- ['raw']=>array() //
- ['tag_version']=>integer() //
- } //
- ['items']=>array() { // array of array of strings containing metainformation
- [<key name>]=>array() { // <key name> can be anything, usually 'artist', 'title', etc. Contains array of one or more values (eg: multiple artists are possible)
- ['data']=>array() { // array of one or more Unicode values
- ['data_ascii']=>array() { // array of values converted approximately from Unicode to ASCII
- ['flags']=>array() //
- } //
- } //
- ['tag_offset_end']=>integer() //
- ['tag_offset_start']=>integer() //
- } //
-
-
- ['asf']=>array() { // ASF - Advanced Streaming Format (ASF, Windows Media Audio (WMA), Windows Media Video (WMV))
- ['audio_media']=>array() { //
- [<x>]=>array() { //
- ['bitrate']=>integer() //
- ['bits_per_sample']=>integer() //
- ['channels']=>integer() //
- ['codec']=>string() //
- ['codec_data']=>string() //
- ['codec_data_size']=>integer() //
- ['raw']=>array() { //
- ['nAvgBytesPerSec']=>integer() //
- ['wBitsPerSample']=>integer() //
- ['nBlockAlign']=>integer() //
- ['nChannels']=>integer() //
- ['nSamplesPerSec']=>integer() //
- ['wFormatTag']=>integer() //
- } //
- ['sample_rate']=>integer() //
- } //
- } //
- ['codec_list']=>array() { //
- ['codec_entries']=>array() { //
- [<x>]=>array() { //
- ['description']=>string() //
- ['description_ascii']=>string() //
- ['information']=>string() //
- ['name']=>string() //
- ['name_ascii']=>string() //
- ['type']=>string() //
- ['type_raw']=>integer() //
- } //
- } //
- ['codec_entries_count']=>integer() //
- ['objectid']=>string() //
- ['objectid_guid']=>string() //
- ['objectsize']=>integer() //
- ['reserved']=>string() //
- ['reserved_guid']=>string() //
- } //
- ['comments']=>array() { // array of comment values, derived from ['content_description']
- ['album']=>string() //
- ['artist']=>string() //
- ['comment']=>string() //
- ['copyright']=>string() //
- ['genre']=>string() //
- ['title']=>string() //
- ['track']=>string() //
- ['year']=>string() //
- } //
- ['content_description']=>array() { // raw values - should use values from ['comments'] instead
- ['author']=>string() //
- ['author_ascii']=>string() //
- ['author_length']=>integer() //
- ['copyright']=>string() //
- ['copyright_ascii']=>string() //
- ['copyright_length']=>integer() //
- ['description']=>string() //
- ['description_ascii']=>string() //
- ['description_length']=>integer() //
- ['objectid']=>string() //
- ['objectid_guid']=>string() //
- ['objectsize']=>integer() //
- ['rating']=>string() //
- ['rating_ascii']=>string() //
- ['rating_length']=>integer() //
- ['title']=>string() //
- ['title_ascii']=>string() //
- ['title_length']=>integer() //
- } //
- ['data_object']=>array() { //
- ['fileid']=>string() //
- ['fileid_guid']=>string() //
- ['objectid']=>string() //
- ['objectid_guid']=>string() //
- ['objectsize']=>integer() //
- ['reserved']=>integer() //
- ['total_data_packets']=>integer() //
- } //
- ['extended_content_description']=>array() { //
- ['content_descriptors']=>array() { //
- [<x>]=>array() { //
- ['name']=>string() //
- ['name_ascii']=>string() //
- ['name_length']=>integer() //
- ['value']=>string() //
- ['value_ascii']=>string() //
- ['value_length']=>integer() //
- ['value_type']=>integer() //
- } //
- } //
- ['content_descriptors_count']=>integer() //
- ['objectid']=>string() //
- ['objectid_guid']=>string() //
- ['objectsize']=>integer() //
- } //
- ['file_properties_object']=>array() { //
- ['creation_date']=>double() //
- ['creation_date_unix']=>double() //
- ['data_packets']=>integer() //
- ['fileid']=>string() //
- ['fileid_guid']=>string() //
- ['filesize']=>integer() //
- ['flags']=>array() { //
- ['broadcast']=>boolean() //
- ['seekable']=>boolean() //
- } //
- ['flags_raw']=>integer() //
- ['max_bitrate']=>integer() //
- ['max_packet_size']=>integer() //
- ['min_packet_size']=>integer() //
- ['objectid']=>string() //
- ['objectid_guid']=>string() //
- ['objectsize']=>integer() //
- ['play_duration']=>double() //
- ['preroll']=>integer() //
- ['send_duration']=>double() //
- } //
- ['header_extension_object']=>array() { //
- ['extension_data']=>integer() //
- ['extension_data_size']=>integer() //
- ['objectid']=>string() //
- ['objectid_guid']=>string() //
- ['objectsize']=>integer() //
- ['reserved_1']=>string() //
- ['reserved_1_guid']=>string() //
- ['reserved_2']=>integer() //
- } //
- ['header_object']=>array() { //
- ['headerobjects']=>integer() //
- ['objectid']=>string() //
- ['objectid_guid']=>string() //
- ['objectsize']=>integer() //
- ['reserved1']=>integer() //
- ['reserved2']=>integer() //
- } //
- ['marker_object']=>array() { //
- ['markers_count']=>integer() //
- ['objectid']=>string() //
- ['objectid_guid']=>string() //
- ['objectsize']=>integer() //
- ['reserved']=>string() //
- ['reserved_2']=>integer() //
- ['reserved_guid']=>string() //
- } //
- ['stream_bitrate_properties']=>array() { //
- ['bitrate_records']=>array() { //
- [<x>]=>array() { //
- ['bitrate']=>integer() //
- ['flags_raw']=>integer() //
- ['flags']=>array() { //
- ['stream_number']=>integer() //
- } //
- } //
- } //
- ['bitrate_records_count']=>integer() //
- ['objectid']=>string() //
- ['objectid_guid']=>string() //
- ['objectsize']=>integer() //
- } //
- ['stream_properties_object']=>array() { //
- [<x>]=>array() { //
- ['error_correct_data']=>string() //
- ['error_correct_guid']=>string() //
- ['error_correct_type']=>string() //
- ['error_data_length']=>integer() //
- ['flags_raw']=>integer() //
- ['flags']=>array() { //
- ['encrypted']=>boolean() //
- } //
- ['objectid']=>string() //
- ['objectid_guid']=>string() //
- ['objectsize']=>integer() //
- ['stream_type']=>string() //
- ['stream_type_guid']=>string() //
- ['time_offset']=>integer() //
- ['type_data_length']=>integer() //
- ['type_specific_data']=>string() //
- } //
- } //
- ['video_media']=>array() { //
- [<x>]=>array() { //
- ['flags']=>integer() //
- ['format_data']=>array() { //
- ['bits_per_pixel']=>integer() //
- ['codec']=>string() //
- ['codec_data']=>boolean() //
- ['codec_fourcc']=>string() //
- ['colors_important']=>integer() //
- ['colors_used']=>integer() //
- ['format_data_size']=>integer() //
- ['horizontal_pels']=>integer() //
- ['image_height']=>integer() //
- ['image_size']=>integer() //
- ['image_width']=>integer() //
- ['reserved']=>integer() //
- ['vertical_pels']=>integer() //
- } //
- ['format_data_size']=>integer() //
- ['image_height']=>integer() //
- ['image_width']=>integer() //
- } //
- } //
- } //
-
-
- ['au']=>array() { // AU - Next/Sun AUdio format
- ['bits_per_sample']=>integer() //
- ['channels']=>integer() //
- ['comment']=>string() //
- ['data_format']=>string() //
- ['data_format_id']=>integer() //
- ['data_size']=>integer() //
- ['header_length']=>integer() //
- ['sample_rate']=>integer() //
- ['used_bits_per_sample']=>integer() //
- } //
-
-
- ['bmp']=>array() { // BMP - OS/2 or Windows BitMaP
- ['header']=>array() { //
- ['compression']=>string() //
- ['raw']=>array() { //
- ['bits_per_pixel']=>integer() //
- ['bmp_data_size']=>integer() //
- ['colors_important']=>integer() //
- ['colors_used']=>integer() //
- ['compression']=>integer() //
- ['data_offset']=>integer() //
- ['filesize']=>integer() //
- ['header_size']=>integer() //
- ['height']=>integer() //
- ['identifier']=>string() //
- ['planes']=>integer() //
- ['resolution_h']=>integer() //
- ['resolution_v']=>integer() //
- ['width']=>integer() //
- } //
- } //
- ['type_os']=>string() //
- ['type_version']=>integer() //
- } //
-
-
- ['bonk']=>array() { // BONK - lossy/lossless audio compression (www.bonkenc.org)
- ['BONK']=>array() { //
- ['channels']=>integer() //
- ['downsampling_ratio']=>integer() //
- ['joint_stereo']=>boolean() //
- ['lossless']=>boolean() //
- ['number_samples']=>integer() //
- ['number_taps']=>integer() //
- ['offset']=>integer() //
- ['sample_rate']=>integer() //
- ['samples_per_packet']=>integer() //
- ['size']=>integer() //
- ['version']=>integer() //
- } //
- ['INFO']=>array() { //
- ['size']=>integer() //
- ['offset']=>integer() //
- ['version']=>integer() //
- [<x>]=>array() { //
- ['nextbit']=>integer() //
- ['offset']=>integer() //
- } //
- } //
- ['dataend']=>integer() //
- ['dataoffset']=>integer() //
- } //
-
-
- ['flac']=>array() { // FLAC - Free Lossless Audio Compressor
- ['SEEKTABLE']=>array() { //
- [<x>]=>array() { //
- ['offset']=>integer() //
- ['samples']=>integer() //
- } //
- ['placeholders']=>integer() //
- ['raw']=>array() { //
- ['block_data']=>string() //
- ['block_length']=>integer() //
- ['block_type']=>integer() //
- ['block_type_text']=>string() //
- ['last_meta_block']=>boolean() //
- ['offset']=>integer() //
- } //
- } //
- ['STREAMINFO']=>array() { //
- ['audio_signature']=>string() //
- ['bits_per_sample']=>integer() //
- ['channels']=>integer() //
- ['max_block_size']=>integer() //
- ['max_frame_size']=>integer() //
- ['min_block_size']=>integer() //
- ['min_frame_size']=>integer() //
- ['raw']=>array() { //
- ['block_data']=>string() //
- ['block_length']=>integer() //
- ['block_type']=>integer() //
- ['block_type_text']=>string() //
- ['last_meta_block']=>boolean() //
- ['offset']=>integer() //
- } //
- ['sample_rate']=>integer() //
- ['samples_stream']=>integer() //
- } //
- ['VORBIS_COMMENT']=>array() { //
- ['raw']=>array() { //
- ['block_data']=>string() //
- ['block_length']=>integer() //
- ['block_type']=>integer() //
- ['block_type_text']=>string() //
- ['last_meta_block']=>boolean() //
- ['offset']=>integer() //
- } //
- } //
- ['compressed_audio_bytes']=>integer() //
- ['compression_ratio']=>double() //
- ['uncompressed_audio_bytes']=>integer() //
- } //
-
-
- ['gif']=>array() { // GIF - Graphics Interchange Format
- ['global_color_table']=>array() { //
- [<x>]=>integer() //
- } //
- ['header']=>array() { //
- ['bits_per_pixel']=>integer() //
- ['flags']=>array() { //
- ['global_color_sorted']=>boolean() //
- ['global_color_table']=>boolean() //
- } //
- ['global_color_size']=>integer() //
- ['raw']=>array() { //
- ['aspect_ratio']=>integer() //
- ['bg_color_index']=>integer() //
- ['flags']=>integer() //
- ['height']=>integer() //
- ['identifier']=>string() //
- ['version']=>string() //
- ['width']=>integer() //
- } //
- } //
- ['version']=>string() //
- } //
-
-
- ['id3v1']=>array() { // ID3v1
- ['album']=>string() //
- ['artist']=>string() //
- ['comment']=>string() //
- ['genre']=>string() //
- ['genreid']=>integer() //
- ['title']=>string() //
- ['track']=>integer() //
- ['year']=>string() //
- ['padding_valid']=>boolean() //
- ['comments']=>array() //
- ['tag_offset_start']=>integer() //
- ['tag_offset_end']=>integer() //
- } //
-
-
- ['id3v2']=>array() { // ID3v2 - www.id3.org
- [<frame name>]=>array() { // <frame name> can be any of the 4-character (3-character in ID3v2.2) frame names allowed in the ID3v2 spec. Exact contents of returned array data varies with frame type.
- [<x>]=>array() { // some frames types allow multiple values ('COMM' for example), others do not and do not have this array level
- ['asciidata']=>boolean() //
- ['asciidescription']=>string() //
- ['data']=>boolean() //
- ['datalength']=>integer() //
- ['dataoffset']=>integer() //
- ['description']=>string() //
- ['encoding']=>string() //
- ['encodingid']=>integer() //
- ['flags']=>array() { //
- ['Encryption']=>boolean() //
- ['FileAlterPreservation']=>boolean() //
- ['GroupingIdentity']=>boolean() //
- ['ReadOnly']=>boolean() //
- ['TagAlterPreservation']=>boolean() //
- ['compression']=>boolean() //
- } //
- ['framenamelong']=>string() //
- ['language']=>string() //
- ['languagename']=>string() //
- } //
- } //
- ['comments']=>array() { // array of array of strings containing best data from any available metainformation tag (APE, ID3v2, ID3v1, Lyrics3, Vorbis, ASF, RIFF, Real, etc.)
- [<key name>]=>array() // <key name> can be anything, usually 'artist', 'title', etc. Contains array of one or more values (eg: multiple artists are possible)
- } //
- ['flags']=>array() { //
- ['experim']=>string() //
- ['exthead']=>string() //
- ['unsynch']=>string() //
- } //
- ['header']=>boolean() //
- ['headerlength']=>integer() //
- ['majorversion']=>integer() //
- ['minorversion']=>integer() //
- ['padding']=>array() { //
- ['length']=>integer() //
- ['start']=>integer() //
- ['valid']=>boolean() //
- } //
- ['tag_offset_end']=>integer() //
- ['tag_offset_start']=>integer() //
- } //
-
-
- ['iso']=>array() { // ISO-9660 - CD-ROM Image
- ['directories']=>array() { //
- [<x>]=>array() { //
- [<x>]=>array() { //
- ['file_flags']=>array() { //
- ['associated']=>boolean() //
- ['directory']=>boolean() //
- ['extended']=>boolean() //
- ['hidden']=>boolean() //
- ['multiple']=>boolean() //
- ['permissions']=>boolean() //
- } //
- ['file_identifier_ascii']=>string() //
- ['filename']=>string() //
- ['filesize']=>integer() //
- ['offset_bytes']=>integer() //
- ['raw']=>array() { //
- ['extended_attribute_length']=>integer() //
- ['file_flags']=>integer() //
- ['file_identifier']=>string() //
- ['file_identifier_length']=>integer() //
- ['file_unit_size']=>integer() //
- ['filesize']=>integer() //
- ['interleave_gap_size']=>integer() //
- ['length']=>integer() //
- ['offset_logical']=>integer() //
- ['recording_date_time']=>string() //
- ['volume_sequence_number']=>integer() //
- } //
- ['recording_timestamp']=>integer() //
- } //
- } //
- } //
- ['files']=>array() { // multidimensional tree-structure array listing of all files and directories in image
- [<directory name>]=>array() // entries of type array are directories (key is directory name), may contain files and/or other subdirectories
- [<file name>]=>integer() // entries of type integer are files (key is file name, value is file size in bytes)
- } //
- ['path_table']=>array() { //
- ['directories']=>array() { //
- [<x>]=>array() { //
- ['extended_length']=>integer() //
- ['full_path']=>string() //
- ['length']=>integer() //
- ['location_bytes']=>integer() //
- ['location_logical']=>integer() //
- ['name']=>string() //
- ['name_ascii']=>string() //
- ['parent_directory']=>integer() //
- } //
- } //
- ['offset']=>integer() //
- ['raw']=>string() //
- } //
- ['primary_volume_descriptor']=>array() { //
- ['abstract_file_identifier']=>string() //
- ['application_identifier']=>string() //
- ['bibliographic_file_identifier']=>string() //
- ['copyright_file_identifier']=>string() //
- ['data_preparer_identifier']=>string() //
- ['offset']=>integer() //
- ['publisher_identifier']=>string() //
- ['raw']=>array() { //
- ['abstract_file_identifier']=>string() //
- ['application_data']=>string() //
- ['application_identifier']=>string() //
- ['bibliographic_file_identifier']=>string() //
- ['copyright_file_identifier']=>string() //
- ['data_preparer_identifier']=>string() //
- ['file_structure_version']=>integer() //
- ['logical_block_size']=>integer() //
- ['path_table_l_location']=>integer() //
- ['path_table_l_opt_location']=>integer() //
- ['path_table_m_location']=>integer() //
- ['path_table_m_opt_location']=>integer() //
- ['path_table_size']=>integer() //
- ['publisher_identifier']=>string() //
- ['root_directory_record']=>string() //
- ['standard_identifier']=>string() //
- ['system_identifier']=>string() //
- ['unused_1']=>string() //
- ['unused_2']=>string() //
- ['unused_3']=>string() //
- ['unused_4']=>integer() //
- ['volume_creation_date_time']=>string() //
- ['volume_descriptor_type']=>integer() //
- ['volume_descriptor_version']=>integer() //
- ['volume_effective_date_time']=>string() //
- ['volume_expiration_date_time']=>string() //
- ['volume_identifier']=>string() //
- ['volume_modification_date_time']=>string() //
- ['volume_sequence_number']=>integer() //
- ['volume_set_identifier']=>string() //
- ['volume_set_size']=>integer() //
- ['volume_space_size']=>integer() //
- } //
- ['system_identifier']=>string() //
- ['volume_creation_date_time']=>integer() //
- ['volume_effective_date_time']=>boolean() //
- ['volume_expiration_date_time']=>boolean() //
- ['volume_identifier']=>string() //
- ['volume_modification_date_time']=>integer() //
- ['volume_set_identifier']=>string() //
- } //
- ['supplementary_volume_descriptor']=>array() { //
- ['abstract_file_identifier']=>string() //
- ['application_identifier']=>string() //
- ['bibliographic_file_identifier']=>string() //
- ['copyright_file_identifier']=>string() //
- ['data_preparer_identifier']=>string() //
- ['offset']=>integer() //
- ['publisher_identifier']=>string() //
- ['raw']=>array() { //
- ['abstract_file_identifier']=>string() //
- ['application_data']=>string() //
- ['application_identifier']=>string() //
- ['bibliographic_file_identifier']=>string() //
- ['copyright_file_identifier']=>string() //
- ['data_preparer_identifier']=>string() //
- ['file_structure_version']=>integer() //
- ['logical_block_size']=>integer() //
- ['path_table_l_location']=>integer() //
- ['path_table_l_opt_location']=>integer() //
- ['path_table_m_location']=>integer() //
- ['path_table_m_opt_location']=>integer() //
- ['path_table_size']=>integer() //
- ['publisher_identifier']=>string() //
- ['root_directory_record']=>string() //
- ['standard_identifier']=>string() //
- ['system_identifier']=>string() //
- ['unused_1']=>string() //
- ['unused_2']=>string() //
- ['unused_3']=>string() //
- ['unused_4']=>integer() //
- ['volume_creation_date_time']=>string() //
- ['volume_descriptor_type']=>integer() //
- ['volume_descriptor_version']=>integer() //
- ['volume_effective_date_time']=>string() //
- ['volume_expiration_date_time']=>string() //
- ['volume_identifier']=>string() //
- ['volume_modification_date_time']=>string() //
- ['volume_sequence_number']=>integer() //
- ['volume_set_identifier']=>string() //
- ['volume_set_size']=>integer() //
- ['volume_space_size']=>integer() //
- } //
- ['system_identifier']=>string() //
- ['volume_creation_date_time']=>integer() //
- ['volume_effective_date_time']=>boolean() //
- ['volume_expiration_date_time']=>boolean() //
- ['volume_identifier']=>string() //
- ['volume_modification_date_time']=>integer() //
- ['volume_set_identifier']=>string() //
- } //
- } //
-
-
- ['jpg']=>array() { // JPEG - still image
- ['exif']=>array() // data returned from PHP's exif_read_data() function
- } //
-
-
- ['la']=>array() { // LA - Lossless Audio (www.lossless-audio.com)
- ['raw']=>array() {
- ['format']=>integer() //
- ['flags']=>integer() //
- } //
- ['flags']=>array() { //
- ['seekable']=>boolean() //
- ['high_compression']=>boolean() //
- } //
- ['bits_per_sample']=>integer() //
- ['bytes_per_sample']=>integer() //
- ['bytes_per_second']=>integer() //
- ['channels']=>integer() //
- ['compression_ratio']=>double() //
- ['format_size']=>integer() //
- ['header_size']=>integer() //
- ['original_crc']=>double() //
- ['sample_rate']=>integer() //
- ['samples']=>integer() //
- ['uncompressed_size']=>integer() //
- ['version']=>double() //
- ['version_major']=>integer() //
- ['version_minor']=>integer() //
- ['footerstart']=>double() //
- }
-
-
- ['lpac']=>array() { // LPAC - Lossless Predictive Audio Compressor
- ['block_length']=>integer() //
- ['file_version']=>integer() //
- ['flags']=>array() { //
- ['16_bit']=>boolean() //
- ['24_bit']=>boolean() //
- ['adaptive_prediction_order']=>boolean() //
- ['adaptive_quantization']=>boolean() //
- ['fast_compress']=>boolean() //
- ['is_wave']=>boolean() //
- ['joint_stereo']=>boolean() //
- ['max_prediction_order']=>integer() //
- ['quantization']=>integer() //
- ['random_access']=>boolean() //
- ['stereo']=>boolean() //
- } //
- ['raw']=>array() { //
- ['audio_type']=>integer() //
- ['parameters']=>double() //
- } //
- ['total_samples']=>integer() //
- } //
-
-
- ['lyrics3']=>array() { // Lyrics3 - metainformation tags
- ['comments']=>array() { //
- ['album']=>string() //
- ['artist']=>string() //
- ['author']=>string() //
- ['comment']=>string() //
- ['title']=>string() //
- } //
- ['flags']=>array() { //
- ['lyrics']=>boolean() //
- ['timestamps']=>boolean() //
- } //
- ['images']=>array() { //
- [<x>]=>array() { //
- ['description']=>string() //
- ['filename']=>string() //
- ['timestamp']=>integer() //
- } //
- } //
- ['raw']=>array() { //
- ['offset_start']=>integer() //
- ['offset_end']=>integer() //
- ['AUT']=>string() //
- ['EAL']=>string() //
- ['EAR']=>string() //
- ['ETT']=>string() //
- ['IMG']=>string() //
- ['IND']=>string() //
- ['INF']=>string() //
- ['LYR']=>string() //
- ['lyrics3tagsize']=>integer() //
- ['lyrics3version']=>integer() //
- ['unparsed']=>string() //
- } //
- ['synchedlyrics']=>array() { //
- [<x>]=>string() //
- } //
- ['unsynchedlyrics']=>string() //
- } //
-
-
- ['midi']=>array() { // MIDI (Musical Instrument Digital Interface) - sequenced music
- ['comments']=>array() { //
- ['comment']=>string() //
- ['copyright']=>string() //
- } //
- ['keysignature']=>array() { //
- [<x>]=>string() //
- } //
- ['raw']=>array() { //
- ['events']=>array() { //
- [<x>]=>array() { //
- [<x>]=>array() { //
- ['us_qnote']=>integer() //
- } //
- } //
- } //
- ['fileformat']=>integer() //
- ['headersize']=>integer() //
- ['ticksperqnote']=>integer() //
- ['track']=>array() { //
- [<x>]=>array() { //
- ['instrument']=>string() //
- ['instrumentid']=>integer() //
- ['name']=>string() //
- } //
- } //
- ['tracks']=>integer() //
- } //
- ['timesignature']=>array() { //
- [<x>]=>string() //
- } //
- ['totalticks']=>integer() //
- } //
-
-
- ['monkeys_audio']=>array() { // Monkey's Audio - lossless audio compression
- ['bitrate']=>double() //
- ['bits_per_sample']=>integer() //
- ['channels']=>integer() //
- ['compressed_size']=>integer() //
- ['compression']=>string() //
- ['compression_ratio']=>double() //
- ['flags']=>array() { //
- ['24-bit']=>boolean() //
- ['8-bit']=>boolean() //
- ['crc-32']=>boolean() //
- ['no_wav_header']=>boolean() //
- ['peak_level']=>boolean() //
- ['seek_elements']=>boolean() //
- } //
- ['frames']=>integer() //
- ['peak_level']=>integer() //
- ['peak_ratio']=>double() //
- ['playtime']=>double() //
- ['raw']=>array() { //
- ['header_tag']=>string() //
- ['nChannels']=>integer() //
- ['nCompressionLevel']=>integer() //
- ['nFinalFrameSamples']=>integer() //
- ['nFormatFlags']=>integer() //
- ['nPeakLevel']=>integer() //
- ['nSampleRate']=>integer() //
- ['nSeekElements']=>integer() //
- ['nTotalFrames']=>integer() //
- ['nVersion']=>integer() //
- ['nWAVHeaderBytes']=>integer() //
- ['nWAVTerminatingBytes']=>integer() //
- } //
- ['sample_rate']=>integer() //
- ['samples']=>integer() //
- ['samples_per_frame']=>integer() //
- ['uncompressed_size']=>integer() //
- ['version']=>double() //
- } //
-
-
- ['mpc']=>array() { // MPC (Musepack) - lossy audio compression
- ['header']=>array() { //
- ['album_gain_db']=>integer() //
- ['album_peak']=>integer() //
- ['album_peak_db']=>boolean() //
- ['title_gain_db']=>integer() //
- ['title_peak']=>integer() //
- ['title_peak_db']=>boolean() //
- ['begin_loud']=>boolean() //
- ['end_loud']=>boolean() //
- ['encoder_version']=>string() //
- ['frame_count']=>integer() //
- ['intensity_stereo']=>boolean() //
- ['last_frame_length']=>integer() //
- ['max_level']=>integer() //
- ['max_subband']=>integer() //
- ['mid_side_stereo']=>boolean() //
- ['profile']=>string() //
- ['sample_rate']=>integer() //
- ['samples']=>integer() //
- ['size']=>integer() //
- ['stream_major_version']=>integer() //
- ['stream_minor_version']=>integer() //
- ['true_gapless']=>boolean() //
- ['raw']=>array() { //
- ['album_gain']=>integer() //
- ['album_peak']=>integer() //
- ['encoder_version']=>integer() //
- ['preamble']=>string() //
- ['profile']=>integer() //
- ['sample_rate']=>integer() //
- ['title_gain']=>integer() //
- ['title_peak']=>integer() //
- } //
- } //
- } //
-
-
- ['mpeg']=>array() { // MPEG (Motion Picture Experts Group) - MPEG video and/or MPEG audio (MP3/MP2/MP1)
- ['audio']=>array() { //
- ['LAME']=>array() { //
- ['RGAD']=>array() { //
- ['peak_amplitude']=>double() //
- } //
- ['ath_type']=>integer() //
- ['audio_bytes']=>integer() //
- ['bitrate_min']=>integer() //
- ['encoder_delay']=>integer() //
- ['encoding_flags']=>array() { //
- ['nogap_next']=>boolean() //
- ['nogap_prev']=>boolean() //
- ['nspsytune']=>boolean() //
- ['nssafejoint']=>boolean() //
- } //
- ['end_padding']=>integer() //
- ['lame_tag_crc']=>integer() //
- ['lowpass_frequency']=>integer() //
- ['mp3_gain_db']=>double() //
- ['mp3_gain_factor']=>double() //
- ['mp3_gain_raw']=>integer() //
- ['music_crc']=>integer() //
- ['noise_shaping']=>integer() //
- ['noise_shaping_raw']=>integer() //
- ['not_optimal_quality']=>boolean() //
- ['not_optimal_quality_raw']=>integer() //
- ['preset_used_id']=>integer() //
- ['short_version']=>string() // ex: "LAME 3.93"
- ['long_version']=>string() // (pre-v3.90 only) ex: "LAME 3.88 (alpha)"
- ['source_sample_freq']=>string() //
- ['source_sample_freq_raw']=>integer() //
- ['stereo_mode']=>string() //
- ['stereo_mode_raw']=>integer() //
- ['surround_info']=>string() //
- ['surround_info_id']=>integer() //
- ['tag_revision']=>integer() //
- ['vbr_method']=>string() //
- ['vbr_method_raw']=>integer() //
- } //
- ['VBR_bitrate']=>double() //
- ['VBR_bytes']=>integer() //
- ['VBR_frames']=>integer() //
- ['VBR_method']=>string() //
- ['VBR_scale']=>integer() //
- ['bitrate']=>integer() //
- ['bitrate_distribution']=>array() { //
- ['free']=>integer() //
- ['8']=>integer() //
- ['16']=>integer() //
- ['24']=>integer() //
- ['32']=>integer() //
- ['40']=>integer() //
- ['48']=>integer() //
- ['56']=>integer() //
- ['64']=>integer() //
- ['80']=>integer() //
- ['96']=>integer() //
- ['112']=>integer() //
- ['128']=>integer() //
- ['144']=>integer() //
- ['160']=>integer() //
- } //
- ['bitrate_mode']=>string() //
- ['channelmode']=>string() //
- ['channels']=>integer() //
- ['copyright']=>boolean() //
- ['crc']=>integer() //
- ['emphasis']=>string() //
- ['frame_count']=>integer() //
- ['framelength']=>integer() //
- ['layer']=>integer() //
- ['modeextension']=>string() //
- ['original']=>boolean() //
- ['padding']=>boolean() //
- ['private']=>boolean() //
- ['protection']=>boolean() //
- ['raw']=>array() { //
- ['bitrate']=>integer() //
- ['channelmode']=>integer() //
- ['copyright']=>integer() //
- ['emphasis']=>integer() //
- ['layer']=>integer() //
- ['modeextension']=>integer() //
- ['original']=>integer() //
- ['padding']=>integer() //
- ['private']=>integer() //
- ['protection']=>integer() //
- ['sample_rate']=>integer() //
- ['synch']=>integer() //
- ['version']=>integer() //
- } //
- ['sample_rate']=>integer() //
- ['stereo_distribution']=>array() { //
- ['dual channel']=>integer() //
- ['joint stereo']=>integer() //
- ['mono']=>integer() //
- ['stereo']=>integer() //
- } //
- ['toc']=>array() { //
- [<x>]=>integer() //
- } //
- ['version']=>string() //
- ['version_distribution']=>array() { //
- [<x>]=>integer() //
- [<x>]=>integer() //
- ['2.5']=>integer() //
- } //
- ['xing_flags']=>array() { //
- ['bytes']=>boolean() //
- ['frames']=>boolean() //
- ['toc']=>boolean() //
- ['vbr_scale']=>boolean() //
- } //
- ['xing_flags_raw']=>string() //
- } //
- ['video']=>array() { //
- ['bitrate']=>integer() //
- ['bitrate_mode']=>string() //
- ['frame_rate']=>double() //
- ['framesize_horizontal']=>integer() //
- ['framesize_vertical']=>integer() //
- ['pixel_aspect_ratio']=>double() //
- ['pixel_aspect_ratio_text']=>string() //
- ['raw']=>array() { //
- ['bitrate']=>integer() //
- ['constrained_param_flag']=>integer() //
- ['frame_rate']=>integer() //
- ['framesize_horizontal']=>integer() //
- ['framesize_vertical']=>integer() //
- ['intra_quant_flag']=>integer() //
- ['marker_bit']=>integer() //
- ['pixel_aspect_ratio']=>integer() //
- ['vbv_buffer_size']=>integer() //
- } //
- } //
- } //
-
-
- ['nsv']=>array() { // NSV - Nullsoft Streaming Video
- ['NSVf']=>array() { //
- ['TOC_entries_1']=>integer() //
- ['TOC_entries_2']=>integer() //
- ['file_size']=>integer() //
- ['header_length']=>integer() //
- ['identifier']=>string() //
- ['meta_size']=>integer() //
- ['metadata']=>string() //
- ['playtime_ms']=>integer() //
- } //
- ['NSVs']=>array() { //
- ['audio_codec']=>string() //
- ['frame_rate']=>double() //
- ['framerate_index']=>integer() //
- ['identifier']=>string() //
- ['offset']=>integer() //
- ['resolution_x']=>integer() //
- ['resolution_y']=>integer() //
- ['unknown1b']=>integer() //
- ['unknown1c']=>integer() //
- ['unknown1d']=>integer() //
- ['unknown2a']=>integer() //
- ['unknown2b']=>integer() //
- ['unknown2c']=>integer() //
- ['unknown2d']=>integer() //
- ['unknown3a']=>integer() //
- ['unknown3b']=>integer() //
- ['unknown3c']=>integer() //
- ['unknown3d']=>integer() //
- ['video_codec']=>string() //
- } //
- ['comments']=>array() { //
- ['aspect']=>string() //
- ['title']=>string() //
- } //
- } //
-
-
- ['ofr']=>array() { // OFR (OptimFROG) - lossless audio compression
- ['COMP']=>array() { //
- [<x>]=>array() { //
- ['channel_configuration']=>string() //
- ['crc_32']=>boolean() //
- ['encoder']=>string() //
- ['offset']=>integer() //
- ['raw']=>array() { //
- ['algorithm_id']=>integer() //
- ['channel_configuration']=>integer() //
- ['encoder_id']=>integer() //
- ['sample_type']=>integer() //
- } //
- ['sample_count']=>integer() //
- ['sample_type']=>string() //
- ['size']=>integer() //
- } //
- } //
- ['HEAD']=>array() { //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- ['OFR ']=>array() { //
- ['channel_config']=>integer() //
- ['channels']=>integer() //
- ['compression']=>string() //
- ['encoder']=>string() //
- ['offset']=>integer() //
- ['raw']=>array() { //
- ['compression']=>integer() //
- ['encoder_id']=>integer() //
- ['sample_type']=>integer() //
- } //
- ['sample_rate']=>integer() //
- ['sample_type']=>string() //
- ['size']=>integer() //
- ['total_samples']=>integer() //
- } //
- ['TAIL']=>array() { //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
-
-
- ['ogg']=>array() { // OGG - container format for Ogg Vorbis, OggFLAC, Speex, etc
- ['bitrate_average']=>double() //
- ['bitrate_max']=>integer() //
- ['bitrate_min']=>integer() //
- ['bitrate_nominal']=>integer() //
- ['bitstreamversion']=>integer() //
- ['blocksize_large']=>integer() //
- ['blocksize_small']=>integer() //
- ['comments']=>array() { // array of array of strings containing best data from any available metainformation tag (APE, ID3v2, ID3v1, Lyrics3, Vorbis, ASF, RIFF, Real, etc.)
- [<key name>]=>array() // <key name> can be anything, usually 'artist', 'title', etc. Contains array of one or more values (eg: multiple artists are possible)
- } //
- ['comments_raw']=>array() { //
- [<x>]=>array() { //
- ['dataoffset']=>integer() //
- ['key']=>string() //
- ['size']=>integer() //
- ['value']=>string() //
- } //
- } //
- ['numberofchannels']=>integer() //
- ['pageheader']=>array() { //
- [<x>]=>array() { //
- ['flags']=>array() { //
- ['bos']=>boolean() //
- ['eos']=>boolean() //
- ['fresh']=>boolean() //
- } //
- ['flags_raw']=>integer() //
- ['header_end_offset']=>integer() //
- ['packet_type']=>integer() //
- ['page_checksum']=>double() //
- ['page_end_offset']=>integer() //
- ['page_length']=>integer() //
- ['page_segments']=>integer() //
- ['page_seqno']=>integer() //
- ['page_start_offset']=>integer() //
- ['pcm_abs_position']=>integer() //
- ['segment_table']=>array() { //
- [<x>]=>integer() //
- } //
- ['stream_serialno']=>integer() //
- ['stream_structver']=>integer() //
- ['stream_type']=>string() //
- } //
- ['eos']=>array() { //
- ['flags']=>array() { //
- ['bos']=>boolean() //
- ['eos']=>boolean() //
- ['fresh']=>boolean() //
- } //
- ['flags_raw']=>integer() //
- ['header_end_offset']=>integer() //
- ['page_checksum']=>double() //
- ['page_end_offset']=>integer() //
- ['page_length']=>integer() //
- ['page_segments']=>integer() //
- ['page_seqno']=>integer() //
- ['page_start_offset']=>integer() //
- ['pcm_abs_position']=>integer() //
- ['segment_table']=>array() { //
- [<x>]=>integer() //
- } //
- ['stream_serialno']=>integer() //
- ['stream_structver']=>integer() //
- } //
- } //
- ['samplerate']=>integer() //
- ['samples']=>integer() //
- ['stop_bit']=>integer() //
- ['vendor']=>string() //
- } //
-
-
- ['png']=>array() { // PNG (Portable Network Graphics) - still image
- ['IDAT']=>array() { //
- [<x>]=>array() { //
- ['header']=>array() { //
- ['crc']=>integer() //
- ['data_length']=>integer() //
- ['flags']=>array() { //
- ['ancilliary']=>boolean() //
- ['private']=>boolean() //
- ['reserved']=>boolean() //
- ['safe_to_copy']=>boolean() //
- } //
- ['type_raw']=>double() //
- ['type_text']=>string() //
- } //
- } //
- } //
- ['IEND']=>array() { //
- ['header']=>array() { //
- ['crc']=>double() //
- ['data']=>string() //
- ['data_length']=>integer() //
- ['flags']=>array() { //
- ['ancilliary']=>boolean() //
- ['private']=>boolean() //
- ['reserved']=>boolean() //
- ['safe_to_copy']=>boolean() //
- } //
- ['type_raw']=>double() //
- ['type_text']=>string() //
- } //
- } //
- ['IHDR']=>array() { //
- ['color_type']=>array() { //
- ['alpha']=>boolean() //
- ['palette']=>boolean() //
- ['true_color']=>boolean() //
- } //
- ['compression_method_text']=>string() //
- ['header']=>array() { //
- ['crc']=>double() //
- ['data']=>string() //
- ['data_length']=>integer() //
- ['flags']=>array() { //
- ['ancilliary']=>boolean() //
- ['private']=>boolean() //
- ['reserved']=>boolean() //
- ['safe_to_copy']=>boolean() //
- } //
- ['type_raw']=>double() //
- ['type_text']=>string() //
- } //
- ['height']=>integer() //
- ['raw']=>array() { //
- ['bit_depth']=>integer() //
- ['color_type']=>integer() //
- ['compression_method']=>integer() //
- ['filter_method']=>integer() //
- ['interlace_method']=>integer() //
- } //
- ['width']=>integer() //
- } //
- ['PLTE']=>array() { //
- ['header']=>array() { //
- ['crc']=>double() //
- ['data']=>string() //
- ['data_length']=>integer() //
- ['flags']=>array() { //
- ['ancilliary']=>boolean() //
- ['private']=>boolean() //
- ['reserved']=>boolean() //
- ['safe_to_copy']=>boolean() //
- } //
- ['type_raw']=>double() //
- ['type_text']=>string() //
- } //
- [<x>]=>integer() //
- } //
- ['comments']=>array() { // array of array of strings containing best data from any available metainformation tag (APE, ID3v2, ID3v1, Lyrics3, Vorbis, ASF, RIFF, Real, etc.)
- [<key name>]=>array() // <key name> can be anything, usually 'artist', 'title', etc. Contains array of one or more values (eg: multiple artists are possible)
- } //
- ['gAMA']=>array() { //
- ['gamma']=>double() //
- ['header']=>array() { //
- ['crc']=>integer() //
- ['data']=>string() //
- ['data_length']=>integer() //
- ['flags']=>array() { //
- ['ancilliary']=>boolean() //
- ['private']=>boolean() //
- ['reserved']=>boolean() //
- ['safe_to_copy']=>boolean() //
- } //
- ['type_raw']=>double() //
- ['type_text']=>string() //
- } //
- } //
- ['oFFs']=>array() { //
- ['header']=>array() { //
- ['crc']=>double() //
- ['data']=>string() //
- ['data_length']=>integer() //
- ['flags']=>array() { //
- ['ancilliary']=>boolean() //
- ['private']=>boolean() //
- ['reserved']=>boolean() //
- ['safe_to_copy']=>boolean() //
- } //
- ['type_raw']=>double() //
- ['type_text']=>string() //
- } //
- ['position_x']=>integer() //
- ['position_y']=>integer() //
- ['unit']=>string() //
- ['unit_specifier']=>integer() //
- } //
- ['pHYs']=>array() { //
- ['header']=>array() { //
- ['crc']=>integer() //
- ['data']=>string() //
- ['data_length']=>integer() //
- ['flags']=>array() { //
- ['ancilliary']=>boolean() //
- ['private']=>boolean() //
- ['reserved']=>boolean() //
- ['safe_to_copy']=>boolean() //
- } //
- ['type_raw']=>double() //
- ['type_text']=>string() //
- } //
- ['pixels_per_unit_x']=>integer() //
- ['pixels_per_unit_y']=>integer() //
- ['unit']=>string() //
- ['unit_specifier']=>integer() //
- } //
- ['pcLb']=>array() { //
- ['header']=>array() { //
- ['crc']=>double() //
- ['data']=>string() //
- ['data_length']=>integer() //
- ['flags']=>array() { //
- ['ancilliary']=>boolean() //
- ['private']=>boolean() //
- ['reserved']=>boolean() //
- ['safe_to_copy']=>boolean() //
- } //
- ['type_raw']=>double() //
- ['type_text']=>string() //
- } //
- } //
- ['tEXt']=>array() { //
- ['header']=>array() { //
- ['crc']=>integer() //
- ['data']=>string() //
- ['data_length']=>integer() //
- ['flags']=>array() { //
- ['ancilliary']=>boolean() //
- ['private']=>boolean() //
- ['reserved']=>boolean() //
- ['safe_to_copy']=>boolean() //
- } //
- ['type_raw']=>double() //
- ['type_text']=>string() //
- } //
- ['keyword']=>string() //
- ['text']=>string() //
- } //
- ['tIME']=>array() { //
- ['day']=>integer() //
- ['header']=>array() { //
- ['crc']=>integer() //
- ['data']=>string() //
- ['data_length']=>integer() //
- ['flags']=>array() { //
- ['ancilliary']=>boolean() //
- ['private']=>boolean() //
- ['reserved']=>boolean() //
- ['safe_to_copy']=>boolean() //
- } //
- ['type_raw']=>double() //
- ['type_text']=>string() //
- } //
- ['hour']=>integer() //
- ['minute']=>integer() //
- ['month']=>integer() //
- ['second']=>integer() //
- ['unix']=>integer() //
- ['year']=>integer() //
- } //
- ['tRNS']=>array() { //
- ['header']=>array() { //
- ['crc']=>double() //
- ['data']=>string() //
- ['data_length']=>integer() //
- ['flags']=>array() { //
- ['ancilliary']=>boolean() //
- ['private']=>boolean() //
- ['reserved']=>boolean() //
- ['safe_to_copy']=>boolean() //
- } //
- ['type_raw']=>double() //
- ['type_text']=>string() //
- } //
- ['transparent_color_blue']=>integer() //
- ['transparent_color_green']=>integer() //
- ['transparent_color_red']=>integer() //
- } //
- ['zTXt']=>array() { //
- ['compressed_text']=>string() //
- ['compression_method']=>integer() //
- ['compression_method_text']=>string() //
- ['header']=>array() { //
- ['crc']=>double() //
- ['data']=>string() //
- ['data_length']=>integer() //
- ['flags']=>array() { //
- ['ancilliary']=>boolean() //
- ['private']=>boolean() //
- ['reserved']=>boolean() //
- ['safe_to_copy']=>boolean() //
- } //
- ['type_raw']=>double() //
- ['type_text']=>string() //
- } //
- ['keyword']=>string() //
- ['text']=>string() //
- } //
- } //
-
-
- ['quicktime']=>array() { // Quicktime - video/audio
- ['']=>array() { //
- ['name']=>boolean() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- ['audio']=>array() { //
- ['bit_depth']=>integer() //
- ['channels']=>integer() //
- ['codec']=>string() //
- ['sample_rate']=>double() //
- } //
- ['free']=>array() { //
- ['name']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- ['mdat']=>array() { //
- ['name']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- ['moov']=>array() { //
- ['hierarchy']=>string() //
- ['name']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- ['subatoms']=>array() // This is an undocumentably-complex recursive array, typically containing a huge amount of seemingly disorganized data. Avoid this like the plague.
- } //
- ['time_scale']=>integer() //
- ['display_scale']=>integer() // 1 = normal; 0.5 = half; 2 = double
- ['video']=>array() { //
- ['codec']=>string() //
- ['color_depth']=>integer() //
- ['color_depth_name']=>string() //
- ['resolution_x']=>double() //
- ['resolution_y']=>double() //
- } //
- ['wide']=>array() { //
- ['name']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
-
-
- ['real']=>array() { // Real (RealAudio / RealVideo) - audio/video
- ['chunks']=>array() { //
- [<x>]=>array() { //
- ['file_version']=>integer() //
- ['headers_count']=>integer() //
- ['length']=>integer() //
- ['name']=>string() //
- ['object_version']=>integer() //
- ['offset']=>integer() //
- } //
- [<x>]=>array() { //
- ['avg_bit_rate']=>integer() //
- ['avg_packet_size']=>integer() //
- ['data_offset']=>integer() //
- ['duration']=>integer() //
- ['flags']=>array() { //
- ['live_broadcast']=>boolean() //
- ['perfect_play']=>boolean() //
- ['save_enabled']=>boolean() //
- } //
- ['flags_raw']=>integer() //
- ['index_offset']=>integer() //
- ['length']=>integer() //
- ['max_bit_rate']=>integer() //
- ['max_packet_size']=>integer() //
- ['name']=>string() //
- ['num_packets']=>integer() //
- ['num_streams']=>integer() //
- ['object_version']=>integer() //
- ['offset']=>integer() //
- ['preroll']=>integer() //
- } //
- } //
- ['comments']=>array() { //
- ['artist']=>string() //
- ['comment']=>string() //
- ['title']=>string() //
- } //
- } //
-
-
- ['riff']=>array() { // RIFF (Resource Interchange File Format) - audio/video container format (AVI, WAV, CDDA, etc)
- ['AIFC']=>array() { //
- ['COMM']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['FVER']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['INST']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['MARK']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['SSND']=>array() { //
- [<x>]=>array() { //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- } //
- ['AIFF']=>array() { //
- ['(c) ']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['COMM']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['SSND']=>array() { //
- [<x>]=>array() { //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- } //
- ['AVI ']=>array() { //
- ['JUNK']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['hdrl']=>array() { //
- ['avih']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['odml']=>array() { //
- ['dmlh']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- } //
- ['strl']=>array() { //
- ['JUNK']=>array() { //
- [<x>]=>array() { //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['strf']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['strh']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['strn']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- } //
- } //
- ['idx1']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['movi']=>array() { //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['CDDA']=>array() { //
- ['fmt ']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['disc_id']=>integer() //
- ['offset']=>integer() //
- ['playtime_frames']=>integer() //
- ['playtime_seconds']=>double() //
- ['size']=>integer() //
- ['start_offset_frame']=>integer() //
- ['start_offset_seconds']=>double() //
- ['track_num']=>integer() //
- ['unknown1']=>integer() //
- ['unknown6']=>integer() //
- ['unknown7']=>integer() //
- } //
- } //
- } //
- ['WAVE']=>array() { //
- ['DISP']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['INFO']=>array() { //
- ['IART']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['ICMT']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['ICOP']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['IENG']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['IGNR']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['IKEY']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['IMED']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['INAM']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['ISBJ']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['ISFT']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['ISRC']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['ISRF']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['ITCH']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- } //
- ['MEXT']=>array() { //
- [<x>]=>array() { //
- ['anciliary_data_length']=>integer() //
- ['data']=>string() //
- ['flags']=>array() { //
- ['anciliary_data_free']=>boolean() //
- ['anciliary_data_left']=>boolean() //
- ['anciliary_data_right']=>boolean() //
- ['homogenous']=>boolean() //
- } //
- ['offset']=>integer() //
- ['raw']=>array() { //
- ['anciliary_data_def']=>integer() //
- ['sound_information']=>integer() //
- } //
- ['size']=>integer() //
- } //
- } //
- ['bext']=>array() { //
- [<x>]=>array() { //
- ['author']=>string() //
- ['bwf_version']=>integer() //
- ['coding_history']=>array() { //
- [<x>]=>string() //
- } //
- ['data']=>string() //
- ['offset']=>integer() //
- ['origin_date']=>string() //
- ['origin_date_unix']=>integer() //
- ['origin_time']=>string() //
- ['reference']=>string() //
- ['reserved']=>integer() //
- ['size']=>integer() //
- ['time_reference']=>integer() //
- ['title']=>string() //
- } //
- } //
- ['cart']=>array() { //
- [<x>]=>array() { //
- ['artist']=>string() //
- ['category']=>string() //
- ['classification']=>string() //
- ['client_id']=>string() //
- ['cut_id']=>string() //
- ['data']=>string() //
- ['end_date']=>string() //
- ['end_time']=>string() //
- ['offset']=>integer() //
- ['out_cue']=>string() //
- ['post_time']=>array() { //
- [<x>]=>array() { //
- ['timer_value']=>integer() //
- ['usage_fourcc']=>string() //
- } //
- } //
- ['producer_app_id']=>string() //
- ['producer_app_version']=>string() //
- ['size']=>integer() //
- ['start_date']=>string() //
- ['start_time']=>string() //
- ['tag_text']=>array() { //
- [<x>]=>string() //
- } //
- ['title']=>string() //
- ['url']=>string() //
- ['user_defined_text']=>string() //
- ['version']=>string() //
- ['zero_db_reference']=>integer() //
- } //
- } //
- ['data']=>array() { //
- [<x>]=>array() { //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['fact']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['fmt ']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- ['rgad']=>array() { //
- [<x>]=>array() { //
- ['data']=>string() //
- ['offset']=>integer() //
- ['size']=>integer() //
- } //
- } //
- } //
- ['audio']=>array() { //
- [<x>]=>array() { //
- ['bitrate']=>integer() //
- ['bits_per_sample']=>integer() //
- ['channels']=>integer() //
- ['codec']=>string() //
- ['sample_rate']=>integer() //
- } //
- ['bits_per_sample']=>integer() //
- ['channels']=>integer() //
- ['codec_fourcc']=>string() //
- ['codec_name']=>string() //
- ['sample_rate']=>integer() //
- ['total_samples']=>integer() //
- } //
- ['comments']=>array() { // array of array of strings containing best data from any available metainformation tag (APE, ID3v2, ID3v1, Lyrics3, Vorbis, ASF, RIFF, Real, etc.)
- [<key name>]=>array() // <key name> can be anything, usually 'artist', 'title', etc. Contains array of one or more values (eg: multiple artists are possible)
- } //
- ['header_size']=>integer() //
- ['raw']=>array() { //
- ['avih']=>array() { //
- ['dwFlags']=>integer() //
- ['dwHeight']=>integer() //
- ['dwInitialFrames']=>integer() //
- ['dwLength']=>integer() //
- ['dwMaxBytesPerSec']=>integer() //
- ['dwMicroSecPerFrame']=>integer() //
- ['dwPaddingGranularity']=>integer() //
- ['dwRate']=>integer() //
- ['dwScale']=>integer() //
- ['dwStart']=>integer() //
- ['dwStreams']=>integer() //
- ['dwSuggestedBufferSize']=>integer() //
- ['dwTotalFrames']=>integer() //
- ['dwWidth']=>integer() //
- ['flags']=>array() { //
- ['capturedfile']=>boolean() //
- ['copyrighted']=>boolean() //
- ['hasindex']=>boolean() //
- ['interleaved']=>boolean() //
- ['mustuseindex']=>boolean() //
- ['trustcktype']=>boolean() //
- } //
- } //
- ['fact']=>array() { //
- ['NumberOfSamples']=>integer() //
- } //
- ['fmt ']=>array() { //
- ['nAvgBytesPerSec']=>integer() //
- ['wBitsPerSample']=>integer() //
- ['nBlockAlign']=>integer() //
- ['nChannels']=>integer() //
- ['nSamplesPerSec']=>integer() //
- ['wFormatTag']=>integer() //
- } //
- ['rgad']=>array() { //
- ['audiophile']=>array() { //
- ['adjustment']=>integer() //
- ['name']=>integer() //
- ['originator']=>integer() //
- ['signbit']=>integer() //
- } //
- ['fPeakAmplitude']=>double() //
- ['nAudiophileRgAdjust']=>integer() //
- ['nRadioRgAdjust']=>integer() //
- ['radio']=>array() { //
- ['adjustment']=>integer() //
- ['name']=>integer() //
- ['originator']=>integer() //
- ['signbit']=>integer() //
- } //
- } //
- ['strf']=>array() { //
- ['auds']=>array() { //
- [<x>]=>array() { //
- ['nAvgBytesPerSec']=>integer() //
- ['wBitsPerSample']=>integer() //
- ['nBlockAlign']=>integer() //
- ['nChannels']=>integer() //
- ['nSamplesPerSec']=>integer() //
- ['wFormatTag']=>integer() //
- } //
- } //
- ['vids']=>array() { //
- [<x>]=>array() { //
- ['biBitCount']=>integer() //
- ['biClrImportant']=>integer() //
- ['biClrUsed']=>integer() //
- ['biHeight']=>integer() //
- ['biPlanes']=>integer() //
- ['biSize']=>integer() //
- ['biSizeImage']=>integer() //
- ['biWidth']=>integer() //
- ['biXPelsPerMeter']=>integer() //
- ['biYPelsPerMeter']=>integer() //
- ['fourcc']=>string() //
- } //
- } //
- } //
- ['strh']=>array() { //
- [<x>]=>array() { //
- ['dwFlags']=>integer() //
- ['dwInitialFrames']=>integer() //
- ['dwLength']=>integer() //
- ['dwQuality']=>integer() //
- ['dwRate']=>integer() //
- ['dwSampleSize']=>integer() //
- ['dwScale']=>integer() //
- ['dwStart']=>integer() //
- ['dwSuggestedBufferSize']=>integer() //
- ['fccHandler']=>string() //
- ['fccType']=>string() //
- ['rcFrame']=>integer() //
- ['wLanguage']=>integer() //
- ['wPriority']=>integer() //
- } //
- } //
- } //
- ['rgad']=>array() { //
- ['audiophile']=>array() { //
- ['adjustment']=>double() //
- ['name']=>string() //
- ['originator']=>string() //
- } //
- ['peakamplitude']=>double() //
- ['radio']=>array() { //
- ['adjustment']=>double() //
- ['name']=>string() //
- ['originator']=>string() //
- } //
- } //
- ['video']=>array() { //
- [<x>]=>array() { //
- ['codec']=>string() //
- ['frame_height']=>integer() //
- ['frame_rate']=>double() //
- ['frame_width']=>integer() //
- } //
- } //
- ['litewave']=>array() { // http://www.clearjump.com
- ['raw']=>array() { //
- ['compression_method']=>integer() // 1=lossy; 2=lossless
- ['compression_flags']=>integer() //
- ['m_dwScale']=>integer() // scalefactor for lossy compression - related to m_wQuality as: $m_wQuality = round((2000 - $m_dwScale) / 20)
- ['m_dwBlockSize']=>integer() // number of samples in encoded blocks
- ['m_wQuality']=>integer() // quality factor (0=most compressed lossy; 99=best quality lossy; 100=lossless)
- ['m_wMarkDistance']=>integer() // distance between marks in bytes
- ['m_wReserved']=>integer() //
- ['m_dwOrgSize']=>integer() // original file size in bytes
- ['m_bFactExists']=>integer() // indicates if 'fact' chunk exists in the original file
- ['m_dwRiffChunkSize']=>integer() // riff chunk size in the original file
- } //
- ['quality_factor']=>integer() // alias of ['raw']['m_wQuality']
- } //
- } //
-
-
- ['shn']=>array() { // Shorten - lossless audio compression
- ['seektable']=>array() { //
- ['length']=>integer() //
- ['offset']=>integer() //
- ['present']=>boolean() //
- } //
- ['version']=>integer() //
- } //
-
-
- ['swf']=>array() { // SWF - ShockWave Flash (www.openswf.org)
- ['header']=>array() { //
- ['frame_count']=>integer() //
- ['frame_height']=>integer() //
- ['frame_width']=>integer() //
- ['length']=>integer() //
- ['signature']=>string() //
- ['version']=>integer() //
- } //
- ['bgcolor']=>string() //
- ['tags']=>array() //
- } //
-
-
- ['voc']=>array() { // VOC - SoundBlaster VOC audio format
- ['blocks']=>array() { //
- [<x>]=>array() { //
- ['bits_per_sample']=>integer() //
- ['block_offset']=>integer() //
- ['block_size']=>integer() //
- ['block_type_id']=>integer() //
- ['channels']=>integer() //
- ['compression_name']=>string() //
- ['compression_type']=>integer() //
- ['pack_method']=>integer() //
- ['sample_rate']=>integer() //
- ['sample_rate_id']=>integer() //
- ['stereo']=>boolean() //
- ['time_constant']=>integer() //
- ['wFormat']=>integer() //
- } //
- } //
- ['compressed_bits_per_sample']=>integer() //
- ['header']=>array() { //
- ['datablock_offset']=>integer() //
- ['major_version']=>integer() //
- ['minor_version']=>integer() //
- } //
- } //
-
-
- ['vqf']=>array() { // VQF - transform-domain weighted interleave Vector Quantization Format (lossy audio)
- ['COMM']=>array() { //
- ['bitrate']=>integer() //
- ['channel_mode']=>integer() //
- ['sample_rate']=>integer() //
- ['security_level']=>integer() //
- } //
- ['DSIZ']=>integer() //
- ['comments']=>array() { // array of array of strings containing best data from any available metainformation tag (APE, ID3v2, ID3v1, Lyrics3, Vorbis, ASF, RIFF, Real, etc.)
- [<key name>]=>array() // <key name> can be anything, usually 'artist', 'title', etc. Contains array of one or more values (eg: multiple artists are possible)
- } //
- ['raw']=>array() { //
- ['header_tag']=>string() //
- ['size']=>integer() //
- ['version']=>string() //
- } //
- } //
-
-
- ['wavpack']=>array() { // WavPack - lossless audio compression
- ['bits']=>integer() //
- ['crc1']=>double() //
- ['crc2']=>integer() //
- ['extension']=>string() //
- ['extra_bc']=>string() //
- ['extras']=>string() //
- ['flags_raw']=>integer() //
- ['offset']=>integer() //
- ['shift']=>integer() //
- ['size']=>integer() //
- ['total_samples']=>integer() //
- ['version']=>integer() //
- } //
-
-
- ['zip']=>array() { // ZIP - lossless data compression
- ['central_directory']=>array() { //
- [<x>]=>array() { //
- ['compressed_size']=>integer() //
- ['compression_method']=>string() //
- ['create_version']=>string() //
- ['entry_offset']=>integer() //
- ['extract_version']=>string() //
- ['filename']=>string() //
- ['flags']=>array() { //
- ['compression_speed']=>string() //
- ['data_descriptor_used']=>boolean() //
- ['encrypted']=>boolean() //
- } //
- ['host_os']=>string() //
- ['last_modified_timestamp']=>integer() //
- ['offset']=>integer() //
- ['raw']=>array() { //
- ['compressed_size']=>integer() //
- ['compression_method']=>integer() //
- ['crc_32']=>double() //
- ['create_version']=>integer() //
- ['disk_number_start']=>integer() //
- ['external_file_attrib']=>double() //
- ['extra_field_length']=>integer() //
- ['extract_version']=>integer() //
- ['file_comment_length']=>integer() //
- ['filename_length']=>integer() //
- ['general_flags']=>integer() //
- ['internal_file_attrib']=>integer() //
- ['last_mod_file_date']=>integer() //
- ['last_mod_file_time']=>integer() //
- ['local_header_offset']=>integer() //
- ['signature']=>integer() //
- ['uncompressed_size']=>integer() //
- } //
- ['uncompressed_size']=>integer() //
- } //
- } //
- ['comments']=>array() { //
- ['comment']=>string() //
- } //
- ['compressed_size']=>integer() //
- ['compression_method']=>string() //
- ['compression_speed']=>string() //
- ['end_central_directory']=>array() { //
- ['comment']=>string() //
- ['comment_length']=>integer() //
- ['directory_entries_this_disk']=>integer() //
- ['directory_entries_total']=>integer() //
- ['directory_offset']=>integer() //
- ['directory_size']=>integer() //
- ['disk_number_current']=>integer() //
- ['disk_number_start_directory']=>integer() //
- ['offset']=>integer() //
- ['signature']=>integer() //
- } //
- ['entries']=>array() { //
- [<x>]=>array() { //
- ['compressed_size']=>integer() //
- ['compression_method']=>string() //
- ['extract_version']=>string() //
- ['filename']=>string() //
- ['flags']=>array() { //
- ['compression_speed']=>string() //
- ['data_descriptor_used']=>boolean() //
- ['encrypted']=>boolean() //
- } //
- ['host_os']=>string() //
- ['last_modified_timestamp']=>integer() //
- ['offset']=>integer() //
- ['raw']=>array() { //
- ['compressed_size']=>integer() //
- ['compression_method']=>integer() //
- ['crc_32']=>integer() //
- ['extra_field_length']=>integer() //
- ['extract_version']=>integer() //
- ['filename_length']=>integer() //
- ['general_flags']=>integer() //
- ['last_mod_file_date']=>integer() //
- ['last_mod_file_time']=>integer() //
- ['signature']=>integer() //
- ['uncompressed_size']=>integer() //
- } //
- ['uncompressed_size']=>integer() //
- } //
- } //
- ['entries_count']=>integer() //
- ['files']=>array() { // multidimensional tree-structure array listing of all files and directories in image
- [<directory name>]=>array() // entries of type array are directories (key is directory name), may contain files and/or other subdirectories
- [<file name>]=>integer() // entries of type integer are files (key is file name, value is file size in bytes)
- } //
- ['uncompressed_size']=>integer() //
- } //
-} //