static $MPEGaudioVersionLookup;
static $MPEGaudioLayerLookup;
static $MPEGaudioBitrateLookup;
static $MPEGaudioFrequencyLookup;
static $MPEGaudioChannelModeLookup;
static $MPEGaudioModeExtensionLookup;
static $MPEGaudioEmphasisLookup;
if (empty($MPEGaudioVersionLookup)) { $MPEGaudioVersionLookup = self::
MPEGaudioVersionArray();
$MPEGaudioLayerLookup = self::
MPEGaudioLayerArray();
$MPEGaudioBitrateLookup = self::
MPEGaudioBitrateArray();
$MPEGaudioFrequencyLookup = self::
MPEGaudioFrequencyArray();
$MPEGaudioChannelModeLookup = self::
MPEGaudioChannelModeArray();
$MPEGaudioModeExtensionLookup = self::
MPEGaudioModeExtensionArray();
$MPEGaudioEmphasisLookup = self::
MPEGaudioEmphasisArray();
} if ($this->
fseek($offset) != 0
) { $this->
error('decodeMPEGaudioHeader() failed to seek to next offset at '.
$offset);
return false;
} //$headerstring = $this->fread(1441); // worst-case max length = 32kHz @ 320kbps layer 3 = 1441 bytes/frame
$headerstring =
$this->
fread(226
); // LAME header at offset 36 + 190 bytes of Xing/LAME data