Lines Matching full:audio

10 // module.audio.mp3.php                                        //
17 // number of frames to scan to determine if MPEG-audio sequence is valid
20 // mpeg-audio streams
27 …e; // forces getID3() to scan the file byte-by-byte and log all the valid audio frame headers - ex…
39 if (isset($ThisFileInfo['mpeg']['audio']['bitrate_mode'])) {
40 …$ThisFileInfo['audio']['bitrate_mode'] = strtolower($ThisFileInfo['mpeg']['audio']['bitrate_mode']…
52 if ($ThisFileInfo['audio']['bitrate_mode'] == 'cbr') {
54 …set'] - $ThisFileInfo['id3v2']['headerlength']) == $ThisFileInfo['mpeg']['audio']['framelength']))…
57 $ThisFileInfo['audio']['codec'] = 'LAME';
60 …aderlength']) && ($ThisFileInfo['avdataoffset'] == $ThisFileInfo['mpeg']['audio']['framelength']))…
63 $ThisFileInfo['audio']['codec'] = 'LAME';
73 if (isset($ThisFileInfo['mpeg']['audio']['LAME'])) {
74 $ThisFileInfo['audio']['codec'] = 'LAME';
75 if (!empty($ThisFileInfo['mpeg']['audio']['LAME']['long_version'])) {
76 …$ThisFileInfo['audio']['encoder'] = rtrim($ThisFileInfo['mpeg']['audio']['LAME']['long_version'], …
77 } elseif (!empty($ThisFileInfo['mpeg']['audio']['LAME']['short_version'])) {
78 …$ThisFileInfo['audio']['encoder'] = rtrim($ThisFileInfo['mpeg']['audio']['LAME']['short_version'],…
82 …urrentDataLAMEversionString) ? $CurrentDataLAMEversionString : @$ThisFileInfo['audio']['encoder']);
106 … if (strlen($PossiblyLongerLAMEversion_NewString) > strlen(@$ThisFileInfo['audio']['encoder'])) {
107 $ThisFileInfo['audio']['encoder'] = $PossiblyLongerLAMEversion_NewString;
112 if (!empty($ThisFileInfo['audio']['encoder'])) {
113 $ThisFileInfo['audio']['encoder'] = rtrim($ThisFileInfo['audio']['encoder'], "\x00 ");
116 switch (@$ThisFileInfo['mpeg']['audio']['layer']) {
119 $ThisFileInfo['audio']['dataformat'] = 'mp'.$ThisFileInfo['mpeg']['audio']['layer'];
123 switch ($ThisFileInfo['audio']['dataformat']) {
127 $ThisFileInfo['fileformat'] = $ThisFileInfo['audio']['dataformat'];
131 …g'][] = 'Expecting [audio][dataformat] to be mp1/mp2/mp3 when fileformat == mp3, [audio][dataforma…
138 unset($ThisFileInfo['audio']['bitrate_mode']);
144 $ThisFileInfo['mime_type'] = 'audio/mpeg';
145 $ThisFileInfo['audio']['lossless'] = false;
148 …FileInfo['playtime_seconds']) && isset($ThisFileInfo['audio']['bitrate']) && ($ThisFileInfo['audio
149 …ThisFileInfo['avdataend'] - $ThisFileInfo['avdataoffset']) * 8 / $ThisFileInfo['audio']['bitrate'];
152 $ThisFileInfo['audio']['encoder_options'] = $this->GuessEncoderOptions($ThisFileInfo);
160 if (!empty($ThisFileInfo['mpeg']['audio'])) {
161 $thisfile_mpeg_audio = &$ThisFileInfo['mpeg']['audio'];
245 } elseif ($ThisFileInfo['audio']['bitrate_mode'] == 'vbr') {
255 } elseif ($ThisFileInfo['audio']['bitrate_mode'] == 'cbr') {
257 …$encoder_options = strtoupper($ThisFileInfo['audio']['bitrate_mode']).ceil($ThisFileInfo['audio'][…
261 $encoder_options = strtoupper($ThisFileInfo['audio']['bitrate_mode']);
269 } elseif (!empty($ThisFileInfo['audio']['bitrate'])) {
271 if ($ThisFileInfo['audio']['bitrate_mode'] == 'cbr') {
272 …$encoder_options = strtoupper($ThisFileInfo['audio']['bitrate_mode']).ceil($ThisFileInfo['audio'][…
274 $encoder_options = strtoupper($ThisFileInfo['audio']['bitrate_mode']);
392 … (empty($encoder_options) && !empty($ThisFileInfo['audio']['bitrate']) && !empty($ThisFileInfo['au…
393 …//$encoder_options = strtoupper($ThisFileInfo['audio']['bitrate_mode']).ceil($ThisFileInfo['audio'…
394 $encoder_options = strtoupper($ThisFileInfo['audio']['bitrate_mode']);
428 // MP3 audio frame structure:
430 // where $aa..$aa is the four-byte mpeg-audio header (below)
432 // and $cc... is the audio data
453 if (!isset($ThisFileInfo['mpeg']['audio'])) {
454 $ThisFileInfo['mpeg']['audio'] = array();
456 $thisfile_mpeg_audio = &$ThisFileInfo['mpeg']['audio'];
462 $ThisFileInfo['error'][] = 'Invalid MPEG audio header at offset '.$offset;
481 $ThisFileInfo['audio']['channels'] = $thisfile_mpeg_audio['channels'];
482 $ThisFileInfo['audio']['sample_rate'] = $thisfile_mpeg_audio['sample_rate'];
507 $ThisFileInfo['audio']['dataformat'] = 'mp2';
535 if ($ThisFileInfo['audio']['sample_rate'] > 0) {
536 …mpeg_audio['layer'], (int) $thisfile_mpeg_audio['padding'], $ThisFileInfo['audio']['sample_rate']);
542 $ThisFileInfo['audio']['bitrate'] = $thisfile_mpeg_audio['bitrate'];
564 $ThisFileInfo['audio']['codec'] = 'Fraunhofer';
656 …//$ThisFileInfo['audio']['bitrate'] = ((($framelengthfloat / 4) - intval($thisfile_mpeg_audio['pad…
657 …$ThisFileInfo['audio']['bitrate'] = ($framelengthfloat / 4) * $thisfile_mpeg_audio['sample_rate'] …
660 …//$ThisFileInfo['audio']['bitrate'] = (($framelengthfloat - intval($thisfile_mpeg_audio['padding']…
661 …$ThisFileInfo['audio']['bitrate'] = $framelengthfloat * $thisfile_mpeg_audio['sample_rate'] * (2 /…
862 $ThisFileInfo['audio']['bitrate'] = $thisfile_mpeg_audio['bitrate'];
896 …obable truncated file: expecting '.$ExpectedNumberOfAudioBytes.' bytes of audio data, only found '…
908 …Too much data in file: expecting '.$ExpectedNumberOfAudioBytes.' bytes of audio data, found '.($Th…
911 …Too much data in file: expecting '.$ExpectedNumberOfAudioBytes.' bytes of audio data, found '.($Th…
916 if (($thisfile_mpeg_audio['bitrate'] == 'free') && empty($ThisFileInfo['audio']['bitrate'])) {
923 …$ThisFileInfo['audio']['bitrate'] = ((($framebytelength / 4) - intval($thisfile_mpeg_audio['paddin…
926 …$ThisFileInfo['audio']['bitrate'] = (($framebytelength - intval($thisfile_mpeg_audio['padding'])) …
939 …'VBR_bytes'] / $thisfile_mpeg_audio['VBR_frames']) * 8) * ($ThisFileInfo['audio']['sample_rate'] /…
941 …'VBR_bytes'] / $thisfile_mpeg_audio['VBR_frames']) * 8) * ($ThisFileInfo['audio']['sample_rate'] /…
943 …'VBR_bytes'] / $thisfile_mpeg_audio['VBR_frames']) * 8) * ($ThisFileInfo['audio']['sample_rate'] /…
946 $ThisFileInfo['audio']['bitrate'] = $thisfile_mpeg_audio['VBR_bitrate'];
998 // for ($channel = 0; $channel < $ThisFileInfo['audio']['channels']; $channel++) {
1006 // for ($channel = 0; $channel < $ThisFileInfo['audio']['channels']; $channel++) {
1081 // force CBR mode, used for trying to pick out invalid audio streams with
1083audio']['bitrate']) || !isset($ThisFileInfo['mpeg']['audio']['bitrate']) || ($nextframetestarray['…
1090 …if (isset($nextframetestarray['mpeg']['audio']['framelength']) && ($nextframetestarray['mpeg']['au…
1091 $nextframetestoffset += $nextframetestarray['mpeg']['audio']['framelength'];
1145 $ThisFileInfo['audio']['codec'] = 'LAME';
1146 $ThisFileInfo['audio']['encoder'] = 'LAME3.88';
1278 $ThisFileInfo['mpeg']['audio']['bitrate_distribution'] = $Distribution['bitrate'];
1279 $ThisFileInfo['mpeg']['audio']['frequency_distribution'] = $Distribution['frequency'];
1280 $ThisFileInfo['mpeg']['audio']['layer_distribution'] = $Distribution['layer'];
1281 $ThisFileInfo['mpeg']['audio']['version_distribution'] = $Distribution['version'];
1282 $ThisFileInfo['mpeg']['audio']['padding_distribution'] = $Distribution['padding'];
1300 $ThisFileInfo['mpeg']['audio']['frame_count'] = array_sum($Distribution['bitrate']);
1301 if ($ThisFileInfo['mpeg']['audio']['frame_count'] == 0) {
1302 $ThisFileInfo['error'][] = 'no MPEG audio frames found';
1305 …$ThisFileInfo['mpeg']['audio']['bitrate'] = ($bittotal / $ThisFileInfo['mpeg']['audio']['fram…
1306 …$ThisFileInfo['mpeg']['audio']['bitrate_mode'] = ((count($Distribution['bitrate']) > 0) ? 'vbr' : …
1307 …$ThisFileInfo['mpeg']['audio']['sample_rate'] = getid3_lib::array_max($Distribution['frequency'],…
1309 $ThisFileInfo['audio']['bitrate'] = $ThisFileInfo['mpeg']['audio']['bitrate'];
1310 $ThisFileInfo['audio']['bitrate_mode'] = $ThisFileInfo['mpeg']['audio']['bitrate_mode'];
1311 $ThisFileInfo['audio']['sample_rate'] = $ThisFileInfo['mpeg']['audio']['sample_rate'];
1312 $ThisFileInfo['audio']['dataformat'] = 'mp'.getid3_lib::array_max($Distribution['layer'], true);
1313 $ThisFileInfo['fileformat'] = $ThisFileInfo['audio']['dataformat'];
1321 // looks for synch, decodes MPEG audio header
1344 …$ThisFileInfo['error'][] = 'Could not find valid MPEG audio synch within the first '.round($sync_s…
1345 if (isset($ThisFileInfo['audio']['bitrate'])) {
1346 unset($ThisFileInfo['audio']['bitrate']);
1348 if (isset($ThisFileInfo['mpeg']['audio'])) {
1349 unset($ThisFileInfo['mpeg']['audio']);
1358 … $ThisFileInfo['error'][] = 'Could not find valid MPEG audio synch before end of file';
1359 if (isset($ThisFileInfo['audio']['bitrate'])) {
1360 unset($ThisFileInfo['audio']['bitrate']);
1362 if (isset($ThisFileInfo['mpeg']['audio'])) {
1363 unset($ThisFileInfo['mpeg']['audio']);
1379 if (!isset($FirstFrameThisfileInfo) && !isset($ThisFileInfo['mpeg']['audio'])) {
1383 …// if this is the first valid MPEG-audio frame, save it in case it's a VBR header frame and there's
1384 // garbage between this frame and a valid sequence of MPEG-audio frames, to be restored below
1399 $ThisFileInfo['audio']['dataformat'] = 'mp3';
1402 …if (isset($FirstFrameThisfileInfo['mpeg']['audio']['bitrate_mode']) && ($FirstFrameThisfileInfo['m…
1403 …if (!(abs($ThisFileInfo['audio']['bitrate'] - $FirstFrameThisfileInfo['audio']['bitrate']) <= 1)) {
1405 // of valid MPEG-audio frames the VBR data is no longer discarded.
1409 $ThisFileInfo['audio']['dataformat'] = 'mp3';
1411 unset($dummy['mpeg']['audio']);
1412 …$GarbageOffsetStart = $FirstFrameAVDataOffset + $FirstFrameThisfileInfo['mpeg']['audio']['framelen…
1418 …because could not find '.GETID3_MP3_VALID_CHECK_FRAMES.' consecutive MPEG-audio frames immediately…
1422 … though could not find '.GETID3_MP3_VALID_CHECK_FRAMES.' consecutive MPEG-audio frames immediately…
1427 …Info['mpeg']['audio']['bitrate_mode']) && ($ThisFileInfo['mpeg']['audio']['bitrate_mode'] == 'vbr'…
1434 …$ThisFileInfo['mpeg']['audio']['stereo_distribution'] = array('stereo'=>0, 'joint stereo'=>0, 'du…
1435 $ThisFileInfo['mpeg']['audio']['version_distribution'] = array('1'=>0, '2'=>0, '2.5'=>0);
1437 if ($ThisFileInfo['mpeg']['audio']['version'] == '1') {
1438 if ($ThisFileInfo['mpeg']['audio']['layer'] == 3) {
1439 …$ThisFileInfo['mpeg']['audio']['bitrate_distribution'] = array('free'=>0, 32000=>0, 40000=>0, 4800…
1440 } elseif ($ThisFileInfo['mpeg']['audio']['layer'] == 2) {
1441 …$ThisFileInfo['mpeg']['audio']['bitrate_distribution'] = array('free'=>0, 32000=>0, 48000=>0, 5600…
1442 } elseif ($ThisFileInfo['mpeg']['audio']['layer'] == 1) {
1443 …$ThisFileInfo['mpeg']['audio']['bitrate_distribution'] = array('free'=>0, 32000=>0, 64000=>0, 9600…
1445 } elseif ($ThisFileInfo['mpeg']['audio']['layer'] == 1) {
1446 …$ThisFileInfo['mpeg']['audio']['bitrate_distribution'] = array('free'=>0, 32000=>0, 48000=>0, 5600…
1448 …$ThisFileInfo['mpeg']['audio']['bitrate_distribution'] = array('free'=>0, 8000=>0, 16000=>0, 24000…
1458 …kup[$dummy['mpeg']['audio']['raw']['version']]][$MPEGaudioLayerLookup[$dummy['mpeg']['audio']['raw…
1460 if (empty($dummy['mpeg']['audio']['framelength'])) {
1463 @$ThisFileInfo['mpeg']['audio']['bitrate_distribution'][$thisframebitrate]++;
1464 … @$ThisFileInfo['mpeg']['audio']['stereo_distribution'][$dummy['mpeg']['audio']['channelmode']]++;
1465 … @$ThisFileInfo['mpeg']['audio']['version_distribution'][$dummy['mpeg']['audio']['version']]++;
1467 $synchstartoffset += $dummy['mpeg']['audio']['framelength'];
1477 …foreach ($ThisFileInfo['mpeg']['audio']['bitrate_distribution'] as $bitratevalue => $bitratecount)…
1487 $ThisFileInfo['mpeg']['audio']['frame_count'] = $framecounter;
1488 $ThisFileInfo['mpeg']['audio']['bitrate'] = ($bittotal / $framecounter);
1490 $ThisFileInfo['audio']['bitrate'] = $ThisFileInfo['mpeg']['audio']['bitrate'];
1495 …foreach ($ThisFileInfo['mpeg']['audio']['bitrate_distribution'] as $bitrate_value => $bitrate_coun…
1501 $ThisFileInfo['mpeg']['audio']['bitrate_mode'] = 'vbr';
1503 $ThisFileInfo['mpeg']['audio']['bitrate_mode'] = 'cbr';
1505 $ThisFileInfo['audio']['bitrate_mode'] = $ThisFileInfo['mpeg']['audio']['bitrate_mode'];
1517 if (empty($ThisFileInfo['mpeg']['audio'])) {
1520 if (isset($ThisFileInfo['audio']['bitrate'])) {
1521 unset($ThisFileInfo['audio']['bitrate']);
1523 if (isset($ThisFileInfo['mpeg']['audio'])) {
1524 unset($ThisFileInfo['mpeg']['audio']);
1536 $ThisFileInfo['audio']['channels'] = $ThisFileInfo['mpeg']['audio']['channels'];
1537 $ThisFileInfo['audio']['channelmode'] = $ThisFileInfo['mpeg']['audio']['channelmode'];
1538 $ThisFileInfo['audio']['sample_rate'] = $ThisFileInfo['mpeg']['audio']['sample_rate'];
1685 // B - MPEG Audio version ID