"""Field constants.""" # service fields INPUT = "input" OUTPUT = "output" TRANSCODING = "transcoding" BUCKET = "bucket" KEY = "key" # transcoding properties fields CONTAINER = "container" CHANNELS = "channels" CODEC = "codec" SAMPLE_RATE = "sample_rate" BIT_RATE = "bit_rate" BIT_DEPTH = "bit_depth" STATUS_TOPIC_ALIAS = "status_topic_alias" DURATION = "duration" METADATA = "metadata" # transcoding response fields SNS_TOPIC = "sns_topic" # transcoding job status fields STATUS = "status" STATUS_DESCRIPTION = "status_description" # available codec names 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] # available container names FLAC_CONTAINER_NAME = "flac" WAVE_CONTAINER_NAME = "wave" MPEG4_CONTAINER_NAME = "mpeg-4" MPEG_CONTAINER_NAME = "mpeg audio" # available extension names EXTENSION_MAPPING = { FLAC_CONTAINER_NAME: "flac", WAVE_CONTAINER_NAME: "wav", MPEG4_CONTAINER_NAME: "m4a", MPEG_CONTAINER_NAME: "mp3", } CODEC_MAPPING = { FLAC_CONTAINER_NAME: [FLAC_CODEC_NAME], WAVE_CONTAINER_NAME: [PCM_CODEC_NAME], MPEG4_CONTAINER_NAME: [ALAC_CODEC_NAME], MPEG_CONTAINER_NAME: [MP3_CODEC_NAME], } ALLOWED_CONTAINERS = list(EXTENSION_MAPPING.keys()) ALLOWED_BIT_SAMPLE_RATE = { 16: [44100, 48000], 24: [44100, 48000, 88200, 96000, 176400, 192000, 352800, 384000], } STEREO_CHANNELS_COUNT = 2 MONO_CHANNELS_COUNT = 1