# -*- coding: utf-8 -*-
"""Constantes de BASSenc (bassenc.dll) y sub-encoders."""

# Errores adicionales
BASS_ERROR_ACM_CANCEL = 2000
BASS_ERROR_CAST_DENIED = 2100

# Config
BASS_CONFIG_ENCODE_PRIORITY = 0x10300
BASS_CONFIG_ENCODE_QUEUE = 0x10301
BASS_CONFIG_ENCODE_CAST_TIMEOUT = 0x10310
BASS_CONFIG_ENCODE_CAST_PROXY = 0x10311
BASS_CONFIG_ENCODE_CAST_BIND = 0x10312
BASS_CONFIG_ENCODE_TERMINATE = 0x10313
BASS_CONFIG_ENCODE_SERVER_CERT = 0x10320
BASS_CONFIG_ENCODE_SERVER_KEY = 0x10321
BASS_CONFIG_ENCODE_SERVER_KEYPASS = 0x10322

# Flags de BASS_Encode_Start
BASS_ENCODE_NOHEAD = 1
BASS_ENCODE_FP_8BIT = 2
BASS_ENCODE_FP_16BIT = 4
BASS_ENCODE_FP_24BIT = 6
BASS_ENCODE_FP_32BIT = 8
BASS_ENCODE_BIGEND = 16
BASS_ENCODE_PAUSE = 32
BASS_ENCODE_PCM = 64
BASS_ENCODE_RF64 = 128
BASS_ENCODE_MONO = 256
BASS_ENCODE_QUEUE = 512
BASS_ENCODE_WFEXT = 0x400
BASS_ENCODE_CAST_NOLIMIT = 0x1000
BASS_ENCODE_LIMIT = 0x2000
BASS_ENCODE_AIFF = 0x4000
BASS_ENCODE_DITHER = 0x8000
BASS_ENCODE_AUTOFREE = 0x40000

# Flags de ACM
BASS_ACM_DEFAULT = 1
BASS_ACM_RATE = 2
BASS_ACM_CHANS = 4
BASS_ACM_SUGGEST = 8

# Contadores
BASS_ENCODE_COUNT_IN = 0
BASS_ENCODE_COUNT_OUT = 1
BASS_ENCODE_COUNT_CAST = 2
BASS_ENCODE_COUNT_QUEUE = 3
BASS_ENCODE_COUNT_QUEUE_LIMIT = 4
BASS_ENCODE_COUNT_QUEUE_FAIL = 5

# Tipos MIME para cast
BASS_ENCODE_TYPE_MP3 = "audio/mpeg"
BASS_ENCODE_TYPE_OGG = "application/ogg"
BASS_ENCODE_TYPE_AAC = "audio/aacp"

# Estadisticas de cast
BASS_ENCODE_STATS_SHOUT = 0
BASS_ENCODE_STATS_ICE = 1
BASS_ENCODE_STATS_ICESERV = 2

# Notificaciones del encoder
BASS_ENCODE_NOTIFY_ENCODER = 1
BASS_ENCODE_NOTIFY_CAST = 2
BASS_ENCODE_NOTIFY_CAST_TIMEOUT = 0x10000
BASS_ENCODE_NOTIFY_QUEUE_FULL = 0x10001

# Flags de servidor
BASS_ENCODE_SERVER_NOHTTP = 1
BASS_ENCODE_SERVER_META = 2
