Lines Matching full:audio
1262 …nfo['audio']['bitrate']) || empty($ThisFileInfo['audio']['channels']) || empty($ThisFileInfo['audi…
1265 …audio']['compression_ratio'] = $ThisFileInfo['audio']['bitrate'] / ($ThisFileInfo['audio']['channe…
1344 echo 'Enter 4 hex bytes of MPEG-audio header (ie <I>FF FA 92 44</I>)<BR>';
1350 echo 'Generate a MPEG-audio 4-byte header from these values:<BR>';
1430 $MP3fileInfo['error'] .= "\n".'Invalid MPEG audio header';
1447 $headerbitstream .= $MPEGversionLookup[$_POST['version']]; // B - MPEG Audio version ID
1577 // number of frames to scan to determine if MPEG-audio sequence is valid
1580 // mpeg-audio streams
1587 if (isset($ThisFileInfo['mpeg']['audio']['bitrate_mode'])) {
1588 …$ThisFileInfo['audio']['bitrate_mode'] = strtolower($ThisFileInfo['mpeg']['audio']['bitrate_mode']…
1600 if ($ThisFileInfo['audio']['bitrate_mode'] == 'cbr') {
1601 …set'] - $ThisFileInfo['id3v2']['headerlength']) == $ThisFileInfo['mpeg']['audio']['framelength']))…
1603 $ThisFileInfo['audio']['codec'] = 'LAME';
1604 …aderlength']) && ($ThisFileInfo['avdataoffset'] == $ThisFileInfo['mpeg']['audio']['framelength']))…
1606 $ThisFileInfo['audio']['codec'] = 'LAME';
1612 …if (isset($ThisFileInfo['mpeg']['audio']['layer']) && ($ThisFileInfo['mpeg']['audio']['layer'] == …
1613 $ThisFileInfo['audio']['dataformat'] = 'mp2';
1614 …} elseif (isset($ThisFileInfo['mpeg']['audio']['layer']) && ($ThisFileInfo['mpeg']['audio']['layer…
1615 $ThisFileInfo['audio']['dataformat'] = 'mp1';
1618 switch ($ThisFileInfo['audio']['dataformat']) {
1622 $ThisFileInfo['fileformat'] = $ThisFileInfo['audio']['dataformat'];
1626 ….= "\n".'Expecting [audio][dataformat] to be mp1/mp2/mp3 when fileformat == mp3, [audio][dataforma…
1634 unset($ThisFileInfo['audio']['bitrate_mode']);
1640 $ThisFileInfo['mime_type'] = 'audio/mpeg';
1641 $ThisFileInfo['audio']['lossless'] = false;
1644 …FileInfo['playtime_seconds']) && isset($ThisFileInfo['audio']['bitrate']) && ($ThisFileInfo['audio…
1645 …ThisFileInfo['avdataend'] - $ThisFileInfo['avdataoffset']) * 8 / $ThisFileInfo['audio']['bitrate'];
1648 if (isset($ThisFileInfo['mpeg']['audio']['LAME'])) {
1649 $ThisFileInfo['audio']['codec'] = 'LAME';
1650 if (!empty($ThisFileInfo['mpeg']['audio']['LAME']['long_version'])) {
1651 $ThisFileInfo['audio']['encoder'] = trim($ThisFileInfo['mpeg']['audio']['LAME']['long_version']);
1685 // MP3 audio frame structure:
1687 // where $aa..$aa is the four-byte mpeg-audio header (below)
1689 // and $cc... is the audio data
1709 $ThisFileInfo['mpeg']['audio']['raw'] = $MPEGheaderRawArray;
1711 $ThisFileInfo['error'] .= "\n".'Invalid MPEG audio header at offset '.$offset;
1717 …$ThisFileInfo['mpeg']['audio']['version'] = $MPEGaudioVersionLookup[$ThisFileInfo['mpeg']['a…
1718 …$ThisFileInfo['mpeg']['audio']['layer'] = $MPEGaudioLayerLookup[$ThisFileInfo['mpeg']['aud…
1720 …$ThisFileInfo['mpeg']['audio']['channelmode'] = $MPEGaudioChannelModeLookup[$ThisFileInfo['mpeg'…
1721 …$ThisFileInfo['mpeg']['audio']['channels'] = (($ThisFileInfo['mpeg']['audio']['channelmode'] …
1722 …Info['mpeg']['audio']['sample_rate'] = $MPEGaudioFrequencyLookup[$ThisFileInfo['mpeg']['audio'][…
1723 …$ThisFileInfo['mpeg']['audio']['protection'] = !$ThisFileInfo['mpeg']['audio']['raw']['protecti…
1724 …$ThisFileInfo['mpeg']['audio']['private'] = (bool) $ThisFileInfo['mpeg']['audio']['raw']['pr…
1725 …nfo['mpeg']['audio']['modeextension'] = $MPEGaudioModeExtensionLookup[$ThisFileInfo['mpeg']['audio…
1726 …$ThisFileInfo['mpeg']['audio']['copyright'] = (bool) $ThisFileInfo['mpeg']['audio']['raw']['co…
1727 …$ThisFileInfo['mpeg']['audio']['original'] = (bool) $ThisFileInfo['mpeg']['audio']['raw']['or…
1728 …$ThisFileInfo['mpeg']['audio']['emphasis'] = $MPEGaudioEmphasisLookup[$ThisFileInfo['mpeg']['…
1730 $ThisFileInfo['audio']['channels'] = $ThisFileInfo['mpeg']['audio']['channels'];
1731 $ThisFileInfo['audio']['sample_rate'] = $ThisFileInfo['mpeg']['audio']['sample_rate'];
1733 if ($ThisFileInfo['mpeg']['audio']['protection']) {
1734 $ThisFileInfo['mpeg']['audio']['crc'] = BigEndian2Int(substr($headerstring, 4, 2));
1739 if ($ThisFileInfo['mpeg']['audio']['raw']['bitrate'] == 15) {
1742 $ThisFileInfo['mpeg']['audio']['raw']['bitrate'] = 0;
1744 …$ThisFileInfo['mpeg']['audio']['padding'] = (bool) $ThisFileInfo['mpeg']['audio']['raw']['padding'…
1745 …audio']['bitrate'] = $MPEGaudioBitrateLookup[$ThisFileInfo['mpeg']['audio']['version']][$ThisFileI…
1747 …if (($ThisFileInfo['mpeg']['audio']['bitrate'] == 'free') && ($offset == $ThisFileInfo['avdataoffs…
1754 if (!$FastMPEGheaderScan && ($ThisFileInfo['mpeg']['audio']['layer'] == 'II')) {
1756 $ThisFileInfo['audio']['dataformat'] = 'mp2';
1757 switch ($ThisFileInfo['mpeg']['audio']['channelmode']) {
1760 …if (($ThisFileInfo['mpeg']['audio']['bitrate'] == 'free') || ($ThisFileInfo['mpeg']['audio']['bitr…
1763 …or'] .= "\n".$ThisFileInfo['mpeg']['audio']['bitrate'].'kbps not allowed in Layer II, '.$ThisFileI…
1771 …sFileInfo['mpeg']['audio']['bitrate'] == 'free') || ($ThisFileInfo['mpeg']['audio']['bitrate'] == …
1774 …or'] .= "\n".$ThisFileInfo['mpeg']['audio']['bitrate'].'kbps not allowed in Layer II, '.$ThisFileI…
1784 if ($ThisFileInfo['audio']['sample_rate'] > 0) {
1785 …audio']['framelength'] = MPEGaudioFrameLength($ThisFileInfo['mpeg']['audio']['bitrate'], $ThisFile…
1788 if ($ThisFileInfo['mpeg']['audio']['bitrate'] != 'free') {
1790 $ThisFileInfo['audio']['bitrate'] = 1000 * $ThisFileInfo['mpeg']['audio']['bitrate'];
1792 if (isset($ThisFileInfo['mpeg']['audio']['framelength'])) {
1793 $nextframetestoffset = $offset + $ThisFileInfo['mpeg']['audio']['framelength'];
1810 $ThisFileInfo['mpeg']['audio']['bitrate_mode'] = 'vbr';
1811 $ThisFileInfo['mpeg']['audio']['VBR_method'] = 'Fraunhofer';
1812 $ThisFileInfo['audio']['codec'] = 'Fraunhofer';
1818 …$ThisFileInfo['mpeg']['audio']['VBR_encoder_version'] = BigEndian2Int(substr($headerstring, $F…
1819 …$ThisFileInfo['mpeg']['audio']['VBR_encoder_delay'] = BigEndian2Int(substr($headerstring, $F…
1820 …$ThisFileInfo['mpeg']['audio']['VBR_quality'] = BigEndian2Int(substr($headerstring, $F…
1821 …$ThisFileInfo['mpeg']['audio']['VBR_bytes'] = BigEndian2Int(substr($headerstring, $F…
1822 …$ThisFileInfo['mpeg']['audio']['VBR_frames'] = BigEndian2Int(substr($headerstring, $F…
1823 …$ThisFileInfo['mpeg']['audio']['VBR_seek_offsets'] = BigEndian2Int(substr($headerstring, $F…
1824 …//$ThisFileInfo['mpeg']['audio']['reserved'] = BigEndian2Int(substr($headerstring, $F…
1825 …$ThisFileInfo['mpeg']['audio']['VBR_seek_offsets_stride'] = BigEndian2Int(substr($headerstring, $F…
1827 $ExpectedNumberOfAudioBytes = $ThisFileInfo['mpeg']['audio']['VBR_bytes'];
1830 for ($i = 0; $i < $ThisFileInfo['mpeg']['audio']['VBR_seek_offsets']; $i++) {
1833 $ThisFileInfo['mpeg']['audio']['VBR_offsets_relative'][$i] = $Fraunhofer_OffsetN;
1834 …$ThisFileInfo['mpeg']['audio']['VBR_offsets_absolute'][$i] = $Fraunhofer_OffsetN + $previousbyteof…
1844 if ($ThisFileInfo['mpeg']['audio']['version'] == '1') {
1845 if ($ThisFileInfo['mpeg']['audio']['channelmode'] == 'mono') {
1855 if ($ThisFileInfo['mpeg']['audio']['channelmode'] == 'mono') {
1870 $ThisFileInfo['mpeg']['audio']['bitrate_mode'] = 'vbr';
1871 $ThisFileInfo['mpeg']['audio']['VBR_method'] = 'Xing';
1873 …$ThisFileInfo['mpeg']['audio']['xing_flags_raw'] = BigEndian2Int(substr($headerstring, $VBRidOffse…
1875 …$ThisFileInfo['mpeg']['audio']['xing_flags']['frames'] = (bool) ($ThisFileInfo['mpeg']['audio']…
1876 …$ThisFileInfo['mpeg']['audio']['xing_flags']['bytes'] = (bool) ($ThisFileInfo['mpeg']['audio']…
1877 …$ThisFileInfo['mpeg']['audio']['xing_flags']['toc'] = (bool) ($ThisFileInfo['mpeg']['audio']…
1878 …$ThisFileInfo['mpeg']['audio']['xing_flags']['vbr_scale'] = (bool) ($ThisFileInfo['mpeg']['audio']…
1880 if ($ThisFileInfo['mpeg']['audio']['xing_flags']['frames']) {
1881 …$ThisFileInfo['mpeg']['audio']['VBR_frames'] = BigEndian2Int(substr($headerstring, $VBRidOffset + …
1883 if ($ThisFileInfo['mpeg']['audio']['xing_flags']['bytes']) {
1884 …$ThisFileInfo['mpeg']['audio']['VBR_bytes'] = BigEndian2Int(substr($headerstring, $VBRidOffset + …
1887 …Info['mpeg']['audio']['bitrate'] == 'free') && !empty($ThisFileInfo['mpeg']['audio']['VBR_frames']…
1888 …$framelengthfloat = $ThisFileInfo['mpeg']['audio']['VBR_bytes'] / $ThisFileInfo['mpeg']['audio']['…
1889 if ($ThisFileInfo['mpeg']['audio']['layer'] == 'I') {
1891 …sFileInfo['audio']['bitrate'] = ((($framelengthfloat / 4) - intval($ThisFileInfo['mpeg']['audio'][…
1894 …ThisFileInfo['audio']['bitrate'] = (($framelengthfloat - intval($ThisFileInfo['mpeg']['audio']['pa…
1896 $ThisFileInfo['mpeg']['audio']['framelength'] = floor($framelengthfloat);
1899 if ($ThisFileInfo['mpeg']['audio']['xing_flags']['toc']) {
1902 $ThisFileInfo['mpeg']['audio']['toc'][$i] = ord($LAMEtocData[$i]);
1905 if ($ThisFileInfo['mpeg']['audio']['xing_flags']['vbr_scale']) {
1906 …$ThisFileInfo['mpeg']['audio']['VBR_scale'] = BigEndian2Int(substr($headerstring, $VBRidOffset + 1…
1911 …$ThisFileInfo['mpeg']['audio']['LAME']['long_version'] = substr($headerstring, $VBRidOffset + 120…
1912 …$ThisFileInfo['mpeg']['audio']['LAME']['short_version'] = substr($ThisFileInfo['mpeg']['audio']['L…
1913 …$ThisFileInfo['mpeg']['audio']['LAME']['long_version'] = rtrim($ThisFileInfo['mpeg']['audio']['LA…
1915 if ($ThisFileInfo['mpeg']['audio']['LAME']['short_version'] >= 'LAME3.90.') {
1928 unset($ThisFileInfo['mpeg']['audio']['VBR_scale']);
1929 …$ThisFileInfo['mpeg']['audio']['LAME']['vbr_quality'] = BigEndian2Int(substr($headerstring, $LAMEt…
1932 …$ThisFileInfo['mpeg']['audio']['LAME']['short_version'] = substr($headerstring, $LAMEtagOffsetCont…
1933 …$ThisFileInfo['mpeg']['audio']['LAME']['long_version'] = $ThisFileInfo['mpeg']['audio']['LAME']['…
1938 …$ThisFileInfo['mpeg']['audio']['LAME']['tag_revision'] = ($LAMEtagRevisionVBRmethod & 0xF0) >…
1939 … $ThisFileInfo['mpeg']['audio']['LAME']['raw']['vbr_method'] = $LAMEtagRevisionVBRmethod & 0x0F;
1940 …$ThisFileInfo['mpeg']['audio']['LAME']['vbr_method'] = LAMEvbrMethodLookup($ThisFileInfo['m…
1943 …$ThisFileInfo['mpeg']['audio']['LAME']['lowpass_frequency'] = BigEndian2Int(substr($headerstring, …
1948 …$ThisFileInfo['mpeg']['audio']['LAME']['RGAD']['peak_amplitude'] = BigEndian2Float(substr($headers…
1949 …$ThisFileInfo['mpeg']['audio']['LAME']['raw']['RGAD_radio'] = BigEndian2Int(substr($headers…
1950 …$ThisFileInfo['mpeg']['audio']['LAME']['raw']['RGAD_audiophile'] = BigEndian2Int(substr($headers…
1952 if ($ThisFileInfo['mpeg']['audio']['LAME']['RGAD']['peak_amplitude'] == 0) {
1953 $ThisFileInfo['mpeg']['audio']['LAME']['RGAD']['peak_amplitude'] = false;
1956 if ($ThisFileInfo['mpeg']['audio']['LAME']['raw']['RGAD_radio'] != 0) {
1959 …$ThisFileInfo['mpeg']['audio']['LAME']['RGAD']['radio']['raw']['name'] = ($ThisFileInfo['mp…
1960 …$ThisFileInfo['mpeg']['audio']['LAME']['RGAD']['radio']['raw']['originator'] = ($ThisFileInfo['mp…
1961 …$ThisFileInfo['mpeg']['audio']['LAME']['RGAD']['radio']['raw']['sign_bit'] = ($ThisFileInfo['mp…
1962 …$ThisFileInfo['mpeg']['audio']['LAME']['RGAD']['radio']['raw']['gain_adjust'] = $ThisFileInfo['mp…
1963 …$ThisFileInfo['mpeg']['audio']['LAME']['RGAD']['radio']['name'] = RGADnameLookup($ThisFileIn…
1964 …$ThisFileInfo['mpeg']['audio']['LAME']['RGAD']['radio']['originator'] = RGADoriginatorLookup($This…
1965 …audio']['LAME']['RGAD']['radio']['gain_db'] = RGADadjustmentLookup($ThisFileInfo['mpeg']['audio…
1967 if ($ThisFileInfo['mpeg']['audio']['LAME']['RGAD']['peak_amplitude'] !== false) {
1968 …$ThisFileInfo['replay_gain']['radio']['peak'] = $ThisFileInfo['mpeg']['audio']['LAME']['RGAD']['…
1970 …$ThisFileInfo['replay_gain']['radio']['originator'] = $ThisFileInfo['mpeg']['audio']['LAME']['RGAD…
1971 …$ThisFileInfo['replay_gain']['radio']['adjustment'] = $ThisFileInfo['mpeg']['audio']['LAME']['RGAD…
1973 if ($ThisFileInfo['mpeg']['audio']['LAME']['raw']['RGAD_audiophile'] != 0) {
1976 …$ThisFileInfo['mpeg']['audio']['LAME']['RGAD']['audiophile']['raw']['name'] = ($ThisFileInf…
1977 …$ThisFileInfo['mpeg']['audio']['LAME']['RGAD']['audiophile']['raw']['originator'] = ($ThisFileInf…
1978 …$ThisFileInfo['mpeg']['audio']['LAME']['RGAD']['audiophile']['raw']['sign_bit'] = ($ThisFileInf…
1979 …$ThisFileInfo['mpeg']['audio']['LAME']['RGAD']['audiophile']['raw']['gain_adjust'] = $ThisFileInfo…
1980 …$ThisFileInfo['mpeg']['audio']['LAME']['RGAD']['audiophile']['name'] = RGADnameLookup($ThisF…
1981 …$ThisFileInfo['mpeg']['audio']['LAME']['RGAD']['audiophile']['originator'] = RGADoriginatorLookup(…
1982 …audio']['LAME']['RGAD']['audiophile']['gain_db'] = RGADadjustmentLookup($ThisFileInfo['mpeg']['…
1984 if ($ThisFileInfo['mpeg']['audio']['LAME']['RGAD']['peak_amplitude'] !== false) {
1985 …$ThisFileInfo['replay_gain']['audiophile']['peak'] = $ThisFileInfo['mpeg']['audio']['LAME']['RGA…
1987 …$ThisFileInfo['replay_gain']['audiophile']['originator'] = $ThisFileInfo['mpeg']['audio']['LAME'][…
1988 …$ThisFileInfo['replay_gain']['audiophile']['adjustment'] = $ThisFileInfo['mpeg']['audio']['LAME'][…
1994 …$ThisFileInfo['mpeg']['audio']['LAME']['encoding_flags']['nspsytune'] = (bool) ($EncodingFlagsAT…
1995 …$ThisFileInfo['mpeg']['audio']['LAME']['encoding_flags']['nssafejoint'] = (bool) ($EncodingFlagsAT…
1996 …$ThisFileInfo['mpeg']['audio']['LAME']['encoding_flags']['nogap_next'] = (bool) ($EncodingFlagsAT…
1997 …$ThisFileInfo['mpeg']['audio']['LAME']['encoding_flags']['nogap_prev'] = (bool) ($EncodingFlagsAT…
1998 …$ThisFileInfo['mpeg']['audio']['LAME']['ath_type'] = $EncodingFlagsAT…
2002 … if ($ThisFileInfo['mpeg']['audio']['LAME']['raw']['vbr_method'] == 2) { // Average BitRate (ABR)
2003 $ThisFileInfo['mpeg']['audio']['LAME']['bitrate_abr'] = $ABRbitrateMinBitrate;
2005 $ThisFileInfo['mpeg']['audio']['LAME']['bitrate_min'] = $ABRbitrateMinBitrate;
2010 $ThisFileInfo['mpeg']['audio']['LAME']['encoder_delay'] = ($EncoderDelays & 0xFFF000) >> 12;
2011 $ThisFileInfo['mpeg']['audio']['LAME']['end_padding'] = $EncoderDelays & 0x000FFF;
2015 $ThisFileInfo['mpeg']['audio']['LAME']['raw']['noise_shaping'] = ($MiscByte & 0x03);
2016 $ThisFileInfo['mpeg']['audio']['LAME']['raw']['stereo_mode'] = ($MiscByte & 0x1C) >> 2;
2017 $ThisFileInfo['mpeg']['audio']['LAME']['raw']['not_optimal_quality'] = ($MiscByte & 0x20) >> 5;
2018 $ThisFileInfo['mpeg']['audio']['LAME']['raw']['source_sample_freq'] = ($MiscByte & 0xC0) >> 6;
2019 …$ThisFileInfo['mpeg']['audio']['LAME']['noise_shaping'] = $ThisFileInfo['mpeg']['audio']['LA…
2020 …$ThisFileInfo['mpeg']['audio']['LAME']['stereo_mode'] = LAMEmiscStereoModeLookup($ThisFile…
2021 …$ThisFileInfo['mpeg']['audio']['LAME']['not_optimal_quality'] = (bool) $ThisFileInfo['mpeg']['audi…
2022 …$ThisFileInfo['mpeg']['audio']['LAME']['source_sample_freq'] = LAMEmiscSourceSampleFrequencyLooku…
2025 …$ThisFileInfo['mpeg']['audio']['LAME']['raw']['mp3_gain'] = BigEndian2Int(substr($headerstring, $L…
2026 …$ThisFileInfo['mpeg']['audio']['LAME']['mp3_gain_db'] = 1.5 * $ThisFileInfo['mpeg']['audio']['…
2027 …$ThisFileInfo['mpeg']['audio']['LAME']['mp3_gain_factor'] = pow(2, ($ThisFileInfo['mpeg']['audio']…
2032 … $ThisFileInfo['mpeg']['audio']['LAME']['raw']['surround_info'] = ($PresetSurroundBytes & 0x3800);
2033 …$ThisFileInfo['mpeg']['audio']['LAME']['surround_info'] = LAMEsurroundInfoLookup($ThisFileI…
2034 … $ThisFileInfo['mpeg']['audio']['LAME']['preset_used_id'] = ($PresetSurroundBytes & 0x07FF);
2037 …$ThisFileInfo['mpeg']['audio']['LAME']['audio_bytes'] = BigEndian2Int(substr($headerstring, $LAMEt…
2038 …eInfo['mpeg']['audio']['LAME']['audio_bytes'] > 0) ? $ThisFileInfo['mpeg']['audio']['LAME']['audio…
2041 …$ThisFileInfo['mpeg']['audio']['LAME']['music_crc'] = BigEndian2Int(substr($headerstring, $LAME…
2044 …$ThisFileInfo['mpeg']['audio']['LAME']['lame_tag_crc'] = BigEndian2Int(substr($headerstring, $LAME…
2048 if ($ThisFileInfo['mpeg']['audio']['LAME']['raw']['vbr_method'] == 1) {
2050 $ThisFileInfo['mpeg']['audio']['bitrate_mode'] = 'cbr';
2051 …if (empty($ThisFileInfo['mpeg']['audio']['bitrate']) || ($ThisFileInfo['mpeg']['audio']['LAME']['b…
2052 … $ThisFileInfo['mpeg']['audio']['bitrate'] = $ThisFileInfo['mpeg']['audio']['LAME']['bitrate_min'];
2063 $ThisFileInfo['mpeg']['audio']['bitrate_mode'] = 'cbr';
2065 $ThisFileInfo['mpeg']['audio']['bitrate_mode'] = 'vbr';
2068 $ThisFileInfo['mpeg']['audio']['bitrate_mode'] = 'cbr';
2070 if ($ThisFileInfo['mpeg']['audio']['bitrate_mode'] == 'vbr') {
2083 …obable truncated file: expecting '.$ExpectedNumberOfAudioBytes.' bytes of audio data, only found '…
2085 …Too much data in file: expecting '.$ExpectedNumberOfAudioBytes.' bytes of audio data, found '.($Th…
2089 …if (($ThisFileInfo['mpeg']['audio']['bitrate'] == 'free') && empty($ThisFileInfo['audio']['bitrate…
2090 …if (($offset == $ThisFileInfo['avdataoffset']) && empty($ThisFileInfo['mpeg']['audio']['VBR_frames…
2093 $ThisFileInfo['mpeg']['audio']['framelength'] = $framebytelength;
2094 if ($ThisFileInfo['mpeg']['audio']['layer'] == 'I') {
2096 …isFileInfo['audio']['bitrate'] = ((($framebytelength / 4) - intval($ThisFileInfo['mpeg']['audio'][…
2099 …$ThisFileInfo['audio']['bitrate'] = (($framebytelength - intval($ThisFileInfo['mpeg']['audio']['pa…
2107 …leInfo['mpeg']['audio']['bitrate_mode'] == 'vbr') && isset($ThisFileInfo['mpeg']['audio']['VBR_fra…
2108 $ThisFileInfo['mpeg']['audio']['VBR_frames']--; // don't count the Xing / VBRI frame
2109 …if (($ThisFileInfo['mpeg']['audio']['version'] == '1') && ($ThisFileInfo['mpeg']['audio']['layer']…
2110 …['audio']['VBR_bitrate'] = ((($ThisFileInfo['mpeg']['audio']['VBR_bytes'] / $ThisFileInfo['mpeg'][…
2111 …FileInfo['mpeg']['audio']['version'] == '2') || ($ThisFileInfo['mpeg']['audio']['version'] == '2.5…
2112 …['audio']['VBR_bitrate'] = ((($ThisFileInfo['mpeg']['audio']['VBR_bytes'] / $ThisFileInfo['mpeg'][…
2114 …['audio']['VBR_bitrate'] = ((($ThisFileInfo['mpeg']['audio']['VBR_bytes'] / $ThisFileInfo['mpeg'][…
2116 if ($ThisFileInfo['mpeg']['audio']['VBR_bitrate'] > 0) {
2117 $ThisFileInfo['audio']['bitrate'] = 1000 * $ThisFileInfo['mpeg']['audio']['VBR_bitrate'];
2118 …$ThisFileInfo['mpeg']['audio']['bitrate'] = $ThisFileInfo['mpeg']['audio']['VBR_bitrate']; // to a…
2140 // if ($ThisFileInfo['mpeg']['audio']['version'] == '1') {
2141 // if ($ThisFileInfo['mpeg']['audio']['channelmode'] == 'mono') {
2143 …// $ThisFileInfo['mpeg']['audio']['side_info']['main_data_begin'] = substr($SideInfoBitstream, $…
2148 …// $ThisFileInfo['mpeg']['audio']['side_info']['main_data_begin'] = substr($SideInfoBitstream, $…
2153 // if ($ThisFileInfo['mpeg']['audio']['channelmode'] == 'mono') {
2155 …// $ThisFileInfo['mpeg']['audio']['side_info']['main_data_begin'] = substr($SideInfoBitstream, $…
2160 …// $ThisFileInfo['mpeg']['audio']['side_info']['main_data_begin'] = substr($SideInfoBitstream, $…
2166 // if ($ThisFileInfo['mpeg']['audio']['version'] == '1') {
2167 // for ($channel = 0; $channel < $ThisFileInfo['audio']['channels']; $channel++) {
2169 …// $ThisFileInfo['mpeg']['audio']['scfsi'][$channel][$scfsi_band] = substr($SideInfoBitstream, …
2174 …// for ($granule = 0; $granule < (($ThisFileInfo['mpeg']['audio']['version'] == '1') ? 2 : 1); $gr…
2175 // for ($channel = 0; $channel < $ThisFileInfo['audio']['channels']; $channel++) {
2176 …// $ThisFileInfo['mpeg']['audio']['part2_3_length'][$granule][$channel] = substr($SideInfoBitstr…
2178 …// $ThisFileInfo['mpeg']['audio']['big_values'][$granule][$channel] = substr($SideInfoBitstream,…
2180 …// $ThisFileInfo['mpeg']['audio']['global_gain'][$granule][$channel] = substr($SideInfoBitstream…
2182 // if ($ThisFileInfo['mpeg']['audio']['version'] == '1') {
2183 …// $ThisFileInfo['mpeg']['audio']['scalefac_compress'][$granule][$channel] = substr($SideInfoBi…
2186 …// $ThisFileInfo['mpeg']['audio']['scalefac_compress'][$granule][$channel] = substr($SideInfoBi…
2189 …// $ThisFileInfo['mpeg']['audio']['window_switching_flag'][$granule][$channel] = substr($SideInf…
2192 // if ($ThisFileInfo['mpeg']['audio']['window_switching_flag'][$granule][$channel] == '1') {
2194 …// $ThisFileInfo['mpeg']['audio']['block_type'][$granule][$channel] = substr($SideInfoBitstream…
2196 …// $ThisFileInfo['mpeg']['audio']['mixed_block_flag'][$granule][$channel] = substr($SideInfoBit…
2200 …// $ThisFileInfo['mpeg']['audio']['table_select'][$granule][$channel][$region] = substr($SideI…
2203 // $ThisFileInfo['mpeg']['audio']['table_select'][$granule][$channel][2] = 0;
2206 …// $ThisFileInfo['mpeg']['audio']['subblock_gain'][$granule][$channel][$window] = substr($Side…
2213 …// $ThisFileInfo['mpeg']['audio']['table_select'][$granule][$channel][$region] = substr($SideI…
2217 …// $ThisFileInfo['mpeg']['audio']['region0_count'][$granule][$channel] = substr($SideInfoBitstr…
2219 …// $ThisFileInfo['mpeg']['audio']['region1_count'][$granule][$channel] = substr($SideInfoBitstr…
2221 // $ThisFileInfo['mpeg']['audio']['block_type'][$granule][$channel] = 0;
2224 // if ($ThisFileInfo['mpeg']['audio']['version'] == '1') {
2225 …// $ThisFileInfo['mpeg']['audio']['preflag'][$granule][$channel] = substr($SideInfoBitstream, $…
2228 …// $ThisFileInfo['mpeg']['audio']['scalefac_scale'][$granule][$channel] = substr($SideInfoBitstr…
2230 …// $ThisFileInfo['mpeg']['audio']['count1table_select'][$granule][$channel] = substr($SideInfoBi…
2250 // force CBR mode, used for trying to pick out invalid audio streams with
2252 …audio']['bitrate']) || !isset($ThisFileInfo['mpeg']['audio']['bitrate']) || ($nextframetestarray['…
2259 …if (isset($nextframetestarray['mpeg']['audio']['framelength']) && ($nextframetestarray['mpeg']['au…
2260 $nextframetestoffset += $nextframetestarray['mpeg']['audio']['framelength'];
2314 $ThisFileInfo['audio']['codec'] = 'LAME';
2315 $ThisFileInfo['audio']['encoder'] = 'LAME3.88';
2354 // looks for synch, decodes MPEG audio header
2383 if (isset($ThisFileInfo['audio']['bitrate'])) {
2384 unset($ThisFileInfo['audio']['bitrate']);
2386 if (isset($ThisFileInfo['mpeg']['audio'])) {
2387 unset($ThisFileInfo['mpeg']['audio']);
2402 if (isset($ThisFileInfo['audio']['bitrate'])) {
2403 unset($ThisFileInfo['audio']['bitrate']);
2405 if (isset($ThisFileInfo['mpeg']['audio'])) {
2406 unset($ThisFileInfo['mpeg']['audio']);
2423 if (!isset($FirstFrameThisfileInfo) && !isset($ThisFileInfo['mpeg']['audio'])) {
2427 …// if this is the first valid MPEG-audio frame, save it in case it's a VBR header frame and there's
2428 // garbage between this frame and a valid sequence of MPEG-audio frames, to be restored below
2444 $ThisFileInfo['audio']['dataformat'] = 'mp3';
2446 …if (isset($FirstFrameThisfileInfo['mpeg']['audio']['bitrate_mode']) && ($FirstFrameThisfileInfo['m…
2447 …if (!CloseMatch($ThisFileInfo['audio']['bitrate'], $FirstFrameThisfileInfo['audio']['bitrate'], 1)…
2449 // of valid MPEG-audio frames the VBR data is no longer discarded.
2453 $ThisFileInfo['audio']['dataformat'] = 'mp3';
2455 unset($dummy['mpeg']['audio']);
2456 …$GarbageOffsetStart = $FirstFrameAVDataOffset + $FirstFrameThisfileInfo['mpeg']['audio']['framelen…
2462 … used because could not find '.MPEG_VALID_CHECK_FRAMES.' consecutive MPEG-audio frames immediately…
2466 …r even though could not find '.MPEG_VALID_CHECK_FRAMES.' consecutive MPEG-audio frames immediately…
2472 …Info['mpeg']['audio']['bitrate_mode']) && ($ThisFileInfo['mpeg']['audio']['bitrate_mode'] == 'vbr'…
2479 …$ThisFileInfo['mpeg']['audio']['stereo_distribution'] = array('stereo'=>0, 'joint stereo'=>0, 'du…
2480 $ThisFileInfo['mpeg']['audio']['version_distribution'] = array('1'=>0, '2'=>0, '2.5'=>0);
2482 if ($ThisFileInfo['mpeg']['audio']['version'] == '1') {
2483 if ($ThisFileInfo['mpeg']['audio']['layer'] == 'III') {
2484 …$ThisFileInfo['mpeg']['audio']['bitrate_distribution'] = array('free'=>0, 32=>0, 40=>0, 48=>0, 56=…
2485 } elseif ($ThisFileInfo['mpeg']['audio']['layer'] == 'II') {
2486 …$ThisFileInfo['mpeg']['audio']['bitrate_distribution'] = array('free'=>0, 32=>0, 48=>0, 56=>0, 64=…
2487 } elseif ($ThisFileInfo['mpeg']['audio']['layer'] == 'I') {
2488 …$ThisFileInfo['mpeg']['audio']['bitrate_distribution'] = array('free'=>0, 32=>0, 64=>0, 96=>0, 128…
2490 } elseif ($ThisFileInfo['mpeg']['audio']['layer'] == 'I') {
2491 …$ThisFileInfo['mpeg']['audio']['bitrate_distribution'] = array('free'=>0, 32=>0, 48=>0, 56=>0, 64=…
2493 …$ThisFileInfo['mpeg']['audio']['bitrate_distribution'] = array('free'=>0, 8=>0, 16=>0, 24=>0, 32=>…
2502 …kup[$dummy['mpeg']['audio']['raw']['version']]][$MPEGaudioLayerLookup[$dummy['mpeg']['audio']['raw…
2504 $ThisFileInfo['mpeg']['audio']['bitrate_distribution'][$thisframebitrate]++;
2505 … $ThisFileInfo['mpeg']['audio']['stereo_distribution'][$dummy['mpeg']['audio']['channelmode']]++;
2506 $ThisFileInfo['mpeg']['audio']['version_distribution'][$dummy['mpeg']['audio']['version']]++;
2507 if (empty($dummy['mpeg']['audio']['framelength'])) {
2512 $synchstartoffset += $dummy['mpeg']['audio']['framelength'];
2517 …foreach ($ThisFileInfo['mpeg']['audio']['bitrate_distribution'] as $bitratevalue => $bitratecount)…
2527 $ThisFileInfo['mpeg']['audio']['frame_count'] = $framecounter;
2528 $ThisFileInfo['mpeg']['audio']['bitrate'] = 1000 * ($bittotal / $framecounter);
2530 $ThisFileInfo['audio']['bitrate'] = $ThisFileInfo['mpeg']['audio']['bitrate'];
2535 …foreach ($ThisFileInfo['mpeg']['audio']['bitrate_distribution'] as $bitrate_value => $bitrate_coun…
2541 $ThisFileInfo['mpeg']['audio']['bitrate_mode'] = 'vbr';
2543 $ThisFileInfo['mpeg']['audio']['bitrate_mode'] = 'cbr';
2545 $ThisFileInfo['audio']['bitrate_mode'] = $ThisFileInfo['mpeg']['audio']['bitrate_mode'];
2557 if (empty($ThisFileInfo['mpeg']['audio'])) {
2560 if (isset($ThisFileInfo['audio']['bitrate'])) {
2561 unset($ThisFileInfo['audio']['bitrate']);
2563 if (isset($ThisFileInfo['mpeg']['audio'])) {
2564 unset($ThisFileInfo['mpeg']['audio']);
2576 $ThisFileInfo['audio']['bits_per_sample'] = 16;
2577 $ThisFileInfo['audio']['channels'] = $ThisFileInfo['mpeg']['audio']['channels'];
2578 $ThisFileInfo['audio']['channelmode'] = $ThisFileInfo['mpeg']['audio']['channelmode'];
2579 $ThisFileInfo['audio']['sample_rate'] = $ThisFileInfo['mpeg']['audio']['sample_rate'];
2732 // B - MPEG Audio version ID