"""Transcoding constants.""" ALAC_CODEC_NAME = 'alac' FLAC_CODEC_NAME = 'flac' PCM_CODEC_NAME = 'pcm' MP3_CODEC_NAME = 'mpa1l3' ALLOWED_CODECS = [ ALAC_CODEC_NAME, FLAC_CODEC_NAME, PCM_CODEC_NAME, MP3_CODEC_NAME, ] # FFMPEG configuration FFMPEG_SECONDARY_OUTPUT_CONFIG_STRIP_NONAUDIO = ( '-loglevel debug ' '-ar {sample_rate} -ac {channels} -b:a {bit_rate} -map 0:a') PCM_S16LE_CODEC = '-acodec pcm_s16le' PCM_S24LE_CODEC = '-acodec pcm_s24le' FLAC_16_BIT_DEPTH = '-acodec flac -sample_fmt s16' # for 24 bit frequency transcoding via flac codec we should use 32 format. FLAC_24_BIT_DEPTH = '-acodec flac -sample_fmt s32' ALAC_16_BIT_DEPTH = '-acodec alac -sample_fmt s16p' # for 24 bit frequency transcoding via alac codec we should use 32 format. ALAC_24_BIT_DEPTH = '-acodec alac -sample_fmt s32p' # we don't setup a bit depth for mp3 MP3_CODEC_CONFIG = '-acodec libmp3lame' CODEC_WITH_FREQUENCY_MAPPING = { (PCM_CODEC_NAME, 16): PCM_S16LE_CODEC, (PCM_CODEC_NAME, 24): PCM_S24LE_CODEC, (FLAC_CODEC_NAME, 16): FLAC_16_BIT_DEPTH, (FLAC_CODEC_NAME, 24): FLAC_24_BIT_DEPTH, (ALAC_CODEC_NAME, 16): ALAC_16_BIT_DEPTH, (ALAC_CODEC_NAME, 24): ALAC_24_BIT_DEPTH, (MP3_CODEC_NAME, 16): MP3_CODEC_CONFIG, (MP3_CODEC_NAME, 24): MP3_CODEC_CONFIG, } OUTPUT_FILENAME_PATTERN = '{output_folder}/{filename}'