From: Daniel J. <dan...@so...> - 2014-01-15 13:13:11
|
Hi all, Regarding http://dev.sourcefabric.org/browse/CC-4996 we have found that Liquidsoap does not distinguish between MPEG-4 audio files containing AAC encoded audio and those containing ALAC encoded audio, aka Apple Lossless (see http://alac.macosforge.org/). However at decoding time, playout fails for ALAC files. Using a test ALAC file from http://www.linnrecords.com/linn-downloads-testfiles.aspx you can see that ALAC files use the same extension and mime type as AAC, even though the codec is different: mutagen-inspect recit16bit.m4a – recit16bit.m4a MPEG-4 audio, 9.01 seconds, 0 bps (audio/mp4) The Airtime function liquidsoapFilePlayabilityTest (line 1077 of https://github.com/sourcefabric/Airtime/blob/master/airtime_mvc/application/models/StoredFile.php) uses output.dummy which returns OK for an ALAC file. However if you use output.alsa instead, you will see the error: Decoder "MP4" betrayed us on "recit16bit.m4a"! Assuming this error refers to the faad plugin for Liquidsoap, it seems faad can be patched to support ALAC, but this patch has not been applied upstream: https://sourceforge.net/p/faac/bugs/183/ I'd be interested to know if people think this is worth fixing, or whether we should simply tell people to re-encode their ALAC audio as FLAC. I'm all in favour of FLAC, but understand that some people need interoperability with Apple products that support ALAC but do not support FLAC. Cheers! Daniel |