There are severals possibles ways to detect mime in php. Your component is trying the one it found possible, but it depends of your server configuration. Check your php modules.
If it fails only with a certain type of files, then the problem do not comes from your component.
Check the header of your MP3 file you try to upload.
Mime check is not a security safe check because the file header can be edited by hand.
It only helps for the ergonomy to avoid uploading a corrupted file, but you can avoid it.
Mime type detection occurs in :
Function checkMime()
protected function checkMime($fileMime)
{
// Hack here
return true;
$valid = false;
if (isset($this->allowedTypes) && count($this->allowedTypes))
foreach($this->allowedTypes as $mime => $ext)
{
$mime = preg_replace("#\/#", "\\\/", $mime);
if (preg_match("/" . $mime . "/", $fileMime))
$valid = true;
}
return $valid;
}