114 lines
2.9 KiB
C
114 lines
2.9 KiB
C
/* Copyright(C) 2007-2020 VoIP objects (voipobjects.com)
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef __TOOLKIT_CONFIG_H
|
|
#define __TOOLKIT_CONFIG_H
|
|
|
|
#define USE_SPEEX_AEC
|
|
|
|
// TODO: test implementation with webrtc aec; be careful - it needs fixes!
|
|
//#define USE_WEBRTC_AEC
|
|
#define USER
|
|
|
|
|
|
#define AUDIO_SAMPLE_WIDTH 16
|
|
#define AUDIO_CHANNELS 1
|
|
|
|
// Samplerate must be 8 / 16 / 24 / 32 / 48 KHz
|
|
#define AUDIO_SAMPLERATE 16000
|
|
#define AUDIO_MIC_BUFFER_COUNT 16
|
|
#define AUDIO_MIC_BUFFER_LENGTH 10
|
|
#define AUDIO_MIC_BUFFER_SIZE (AUDIO_MIC_BUFFER_LENGTH * AUDIO_SAMPLERATE / 1000 * 2 * AUDIO_CHANNELS)
|
|
#define AUDIO_SPK_BUFFER_COUNT 16
|
|
#define AUDIO_SPK_BUFFER_LENGTH 10
|
|
#define AUDIO_SPK_BUFFER_SIZE (AUDIO_SPK_BUFFER_LENGTH * AUDIO_SAMPLERATE / 1000 * 2 * AUDIO_CHANNELS)
|
|
#define AUDIO_MIX_CHANNEL_COUNT 16
|
|
#define AUDIO_DEVICEPAIR_INPUTBUFFER 16384
|
|
|
|
// Avoid too high resampler quality - it can take many CPU and cause gaps in playing
|
|
#define AUDIO_RESAMPLER_QUALITY 1
|
|
#define AEC_FRAME_TIME 10
|
|
#define AEC_TAIL_TIME 160
|
|
|
|
|
|
// Defined these two lines to get dumping of audio input/output
|
|
//#define AUDIO_DUMPINPUT
|
|
//#define AUDIO_DUMPOUTPUT
|
|
|
|
|
|
#define UA_REGISTRATION_TIME 3600
|
|
#define UA_MEDIA_PORT_START 20000
|
|
#define UA_MEDIA_PORT_FINISH 30000
|
|
#define UA_MAX_UDP_PACKET_SIZE 576
|
|
#define UA_PUBLICATION_ID "314"
|
|
|
|
#define MT_SAMPLERATE AUDIO_SAMPLERATE
|
|
|
|
#define MT_MAXAUDIOFRAME 1440
|
|
#define MT_MAXRTPPACKET 1500
|
|
#define MT_DTMF_END_PACKETS 3
|
|
|
|
#define RTP_BUFFER_HIGH 480
|
|
#define RTP_BUFFER_LOW 10
|
|
#define RTP_BUFFER_PREBUFFER 80
|
|
#define RTP_DECODED_CAPACITY 2048
|
|
|
|
#define DEFAULT_SUBSCRIPTION_TIME 1200
|
|
#define DEFAULT_SUBSCRIPTION_REFRESHTIME 500
|
|
|
|
#define PRESENCE_IN_REG_HEADER "PresenceInReg"
|
|
|
|
// Maximum UDP packet length
|
|
#define MAX_UDPPACKET_SIZE 65535
|
|
#define MAX_VALID_UDPPACKET_SIZE 2048
|
|
|
|
// AMR codec defines - it requires USE_AMR_CODEC defined
|
|
// #define USE_AMR_CODEC
|
|
#define MT_AMRNB_PAYLOADTYPE 122
|
|
#define MT_AMRNB_CODECNAME "amr"
|
|
|
|
#define MT_AMRNB_OCTET_PAYLOADTYPE 123
|
|
|
|
#define MT_AMRWB_PAYLOADTYPE 124
|
|
#define MT_AMRWB_CODECNAME "amr-wb"
|
|
|
|
#define MT_AMRWB_OCTET_PAYLOADTYPE 125
|
|
|
|
#define MT_GSMEFR_PAYLOADTYPE 126
|
|
#define MT_GSMEFR_CODECNAME "GERAN-EFR"
|
|
|
|
#define MT_EVS_PAYLOADTYPE 127
|
|
#define MT_EVS_CODECNAME "EVS"
|
|
|
|
// OPUS codec defines
|
|
// #define USE_OPUS_CODEC
|
|
#define MT_OPUS_CODEC_PT 106
|
|
|
|
// ILBC codec defines
|
|
#define MT_ILBC20_PAYLOADTYPE -1
|
|
#define MT_ILBC30_PAYLOADTYPE -1
|
|
|
|
// ISAC codec defines
|
|
#define MT_ISAC16K_PAYLOADTYPE -1
|
|
#define MT_ISAC32K_PAYLOADTYPE -1
|
|
|
|
// GSM HR payload type
|
|
#define MT_GSMHR_PAYLOADTYPE -1
|
|
|
|
// Mirror buffer capacity
|
|
#define MT_MIRROR_CAPACITY 32768
|
|
|
|
// Mirror buffer readiness threshold - 50 milliseconds
|
|
#define MT_MIRROR_PREBUFFER (MT_SAMPLERATE / 10)
|
|
|
|
#if defined(TARGET_OSX) || defined(TARGET_LINUX)
|
|
# define TEXT(X) X
|
|
#endif
|
|
|
|
// In milliseconds
|
|
#define MT_SEVANA_FRAME_TIME 680
|
|
|
|
#endif
|