Home --> Documentations --> PJMEDIA Reference
Various compile time settings such as to enable/disable codecs.
More...
◆ PJMEDIA_HAS_L16_CODEC
#define PJMEDIA_HAS_L16_CODEC 1 |
Unless specified otherwise, L16 codec is included by default.
◆ PJMEDIA_CODEC_L16_HAS_8KHZ_MONO
#define PJMEDIA_CODEC_L16_HAS_8KHZ_MONO 0 |
Settings to enable L16 codec 8KHz, mono. By default it is disabled.
◆ PJMEDIA_CODEC_L16_HAS_8KHZ_STEREO
#define PJMEDIA_CODEC_L16_HAS_8KHZ_STEREO 0 |
Settings to enable L16 codec 8KHz, stereo. By default it is disabled.
◆ PJMEDIA_CODEC_L16_HAS_16KHZ_MONO
#define PJMEDIA_CODEC_L16_HAS_16KHZ_MONO 0 |
Settings to enable L16 codec 16KHz, mono. By default it is disabled.
◆ PJMEDIA_CODEC_L16_HAS_16KHZ_STEREO
#define PJMEDIA_CODEC_L16_HAS_16KHZ_STEREO 0 |
Settings to enable L16 codec 16KHz, stereo. By default it is disabled.
◆ PJMEDIA_CODEC_L16_HAS_48KHZ_MONO
#define PJMEDIA_CODEC_L16_HAS_48KHZ_MONO 0 |
Settings to enable L16 codec 48KHz, mono. By default it is disabled.
◆ PJMEDIA_CODEC_L16_HAS_48KHZ_STEREO
#define PJMEDIA_CODEC_L16_HAS_48KHZ_STEREO 0 |
Settings to enable L16 codec 48KHz, stereo. By default it is disabled.
◆ PJMEDIA_HAS_GSM_CODEC
#define PJMEDIA_HAS_GSM_CODEC 1 |
Unless specified otherwise, GSM codec is included by default.
◆ PJMEDIA_HAS_SPEEX_CODEC
#define PJMEDIA_HAS_SPEEX_CODEC 1 |
Unless specified otherwise, Speex codec is included by default.
◆ PJMEDIA_CODEC_SPEEX_DEFAULT_COMPLEXITY
#define PJMEDIA_CODEC_SPEEX_DEFAULT_COMPLEXITY 2 |
Speex codec default complexity setting.
◆ PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY
#define PJMEDIA_CODEC_SPEEX_DEFAULT_QUALITY 8 |
Speex codec default quality setting. Please note that pjsua-lib may override this setting via its codec quality setting (i.e PJSUA_DEFAULT_CODEC_QUALITY).
◆ PJMEDIA_HAS_ILBC_CODEC
#define PJMEDIA_HAS_ILBC_CODEC 1 |
Unless specified otherwise, iLBC codec is included by default.
◆ PJMEDIA_HAS_G722_CODEC
#define PJMEDIA_HAS_G722_CODEC 1 |
Unless specified otherwise, G.722 codec is included by default.
◆ PJMEDIA_POOL_LEN_G722_CODEC
#define PJMEDIA_POOL_LEN_G722_CODEC 1000 |
Initial memory block for G.722 codec implementation.
◆ PJMEDIA_POOL_INC_G722_CODEC
#define PJMEDIA_POOL_INC_G722_CODEC 1000 |
Memory increment for G.722 codec implementation.
◆ PJMEDIA_G722_DEFAULT_PCM_SHIFT
#define PJMEDIA_G722_DEFAULT_PCM_SHIFT 2 |
Default G.722 codec encoder and decoder level adjustment. The G.722 specifies that it uses 14 bit PCM for input and output, while PJMEDIA normally uses 16 bit PCM, so the conversion is done by applying level adjustment. If the value is non-zero, then PCM input samples to the encoder will be shifted right by this value, and similarly PCM output samples from the decoder will be shifted left by this value.
This can be changed at run-time after initialization by calling pjmedia_codec_g722_set_pcm_shift().
Default: 2.
◆ PJMEDIA_G722_STOP_PCM_SHIFT_ON_CLIPPING
#define PJMEDIA_G722_STOP_PCM_SHIFT_ON_CLIPPING 1 |
Specifies whether G.722 PCM shifting should be stopped when clipping detected in the decoder. Enabling this feature can be useful when talking to G.722 implementation that uses 16 bit PCM for G.722 input/ output (for any reason it seems to work) and the PCM shifting causes audio clipping.
See also PJMEDIA_G722_DEFAULT_PCM_SHIFT.
Default: enabled.
◆ PJMEDIA_HAS_INTEL_IPP
#define PJMEDIA_HAS_INTEL_IPP 0 |
Enable the features provided by Intel IPP libraries, for example codecs such as G.729, G.723.1, G.726, G.728, G.722.1, and AMR.
By default this is disabled. Please follow the instructions in http://trac.pjsip.org/repos/wiki/Intel_IPP_Codecs on how to setup Intel IPP with PJMEDIA.
◆ PJMEDIA_AUTO_LINK_IPP_LIBS
#define PJMEDIA_AUTO_LINK_IPP_LIBS 1 |
Visual Studio only: when this option is set, the Intel IPP libraries will be automatically linked to application using pragma(comment) constructs. This is convenient, however it will only link with the stub libraries and the Intel IPP DLL's will be required when distributing the application.
If application wants to link with the different types of the Intel IPP libraries (for example, the static libraries), it must set this option to zero and specify the Intel IPP libraries in the application's input library specification manually.
Default 1.
◆ PJMEDIA_HAS_INTEL_IPP_CODEC_AMR
#define PJMEDIA_HAS_INTEL_IPP_CODEC_AMR 1 |
Enable Intel IPP AMR codec. This also needs to be enabled when AMR WB codec is enabled. This option is only used when PJMEDIA_HAS_INTEL_IPP is enabled.
Default: 1
◆ PJMEDIA_HAS_INTEL_IPP_CODEC_AMRWB
#define PJMEDIA_HAS_INTEL_IPP_CODEC_AMRWB 1 |
Enable Intel IPP AMR wideband codec. The PJMEDIA_HAS_INTEL_IPP_CODEC_AMR option must also be enabled to use this codec. This option is only used when PJMEDIA_HAS_INTEL_IPP is enabled.
Default: 1
◆ PJMEDIA_HAS_INTEL_IPP_CODEC_G729
#define PJMEDIA_HAS_INTEL_IPP_CODEC_G729 1 |
Enable Intel IPP G.729 codec. This option is only used when PJMEDIA_HAS_INTEL_IPP is enabled.
Default: 1
◆ PJMEDIA_HAS_INTEL_IPP_CODEC_G723_1
#define PJMEDIA_HAS_INTEL_IPP_CODEC_G723_1 1 |
Enable Intel IPP G.723.1 codec. This option is only used when PJMEDIA_HAS_INTEL_IPP is enabled.
Default: 1
◆ PJMEDIA_HAS_INTEL_IPP_CODEC_G726
#define PJMEDIA_HAS_INTEL_IPP_CODEC_G726 1 |
Enable Intel IPP G.726 codec. This option is only used when PJMEDIA_HAS_INTEL_IPP is enabled.
Default: 1
◆ PJMEDIA_HAS_INTEL_IPP_CODEC_G728
#define PJMEDIA_HAS_INTEL_IPP_CODEC_G728 1 |
Enable Intel IPP G.728 codec. This option is only used when PJMEDIA_HAS_INTEL_IPP is enabled.
Default: 1
◆ PJMEDIA_HAS_INTEL_IPP_CODEC_G722_1
#define PJMEDIA_HAS_INTEL_IPP_CODEC_G722_1 1 |
Enable Intel IPP G.722.1 codec. This option is only used when PJMEDIA_HAS_INTEL_IPP is enabled.
Default: 1
◆ PJMEDIA_HAS_PASSTHROUGH_CODECS
#define PJMEDIA_HAS_PASSTHROUGH_CODECS 0 |
Enable Passthrough codecs.
Default: 0
◆ PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_AMR 1 |
Enable AMR passthrough codec.
Default: 1
◆ PJMEDIA_HAS_PASSTHROUGH_CODEC_G729
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_G729 1 |
Enable G.729 passthrough codec.
Default: 1
◆ PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_ILBC 1 |
Enable iLBC passthrough codec.
Default: 1
◆ PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMU 1 |
Enable PCMU passthrough codec.
Default: 1
◆ PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA
#define PJMEDIA_HAS_PASSTHROUGH_CODEC_PCMA 1 |
Enable PCMA passthrough codec.
Default: 1
◆ PJMEDIA_HAS_G7221_CODEC
#define PJMEDIA_HAS_G7221_CODEC 0 |
G.722.1 codec is disabled by default.
◆ PJMEDIA_HAS_OPENCORE_AMRNB_CODEC
#define PJMEDIA_HAS_OPENCORE_AMRNB_CODEC 0 |
◆ PJMEDIA_HAS_OPENCORE_AMRWB_CODEC
#define PJMEDIA_HAS_OPENCORE_AMRWB_CODEC 0 |
◆ PJMEDIA_AUTO_LINK_OPENCORE_AMR_LIBS
#define PJMEDIA_AUTO_LINK_OPENCORE_AMR_LIBS 1 |
Link with libopencore-amrXX via pragma comment on Visual Studio. This option only makes sense if PJMEDIA_HAS_OPENCORE_AMRNB/WB_CODEC is enabled.
Default: 1
◆ PJMEDIA_OPENCORE_AMR_BUILT_WITH_GCC
#define PJMEDIA_OPENCORE_AMR_BUILT_WITH_GCC 1 |
Link with libopencore-amrXX.a that has been produced with gcc. This option only makes sense if PJMEDIA_HAS_OPENCORE_AMRNB/WB_CODEC and PJMEDIA_AUTO_LINK_OPENCORE_AMR_LIBS are enabled.
Default: 1
◆ PJMEDIA_G7221_DEFAULT_PCM_SHIFT
#define PJMEDIA_G7221_DEFAULT_PCM_SHIFT 1 |
Default G.722.1 codec encoder and decoder level adjustment. If the value is non-zero, then PCM input samples to the encoder will be shifted right by this value, and similarly PCM output samples from the decoder will be shifted left by this value.
This can be changed at run-time after initialization by calling pjmedia_codec_g7221_set_pcm_shift().
◆ PJMEDIA_HAS_SILK_CODEC
#define PJMEDIA_HAS_SILK_CODEC 0 |
Enabling both G.722.1 codec implementations, internal PJMEDIA and IPP, may cause problem in SDP, i.e: payload types duplications. So, let's just trap such case here at compile time.
Application can control which implementation to be used by manipulating PJMEDIA_HAS_G7221_CODEC and PJMEDIA_HAS_INTEL_IPP_CODEC_G722_1 in config_site.h. Enable SILK codec.
Default: 0
◆ PJMEDIA_CODEC_SILK_DEFAULT_COMPLEXITY
#define PJMEDIA_CODEC_SILK_DEFAULT_COMPLEXITY 2 |
SILK codec default complexity setting, valid values are 0 (lowest), 1, and 2.
Default: 2
◆ PJMEDIA_CODEC_SILK_DEFAULT_QUALITY
#define PJMEDIA_CODEC_SILK_DEFAULT_QUALITY 10 |
SILK codec default quality setting, valid values are ranging from 0 (lowest) to 10. Please note that pjsua-lib may override this setting via its codec quality setting (i.e PJSUA_DEFAULT_CODEC_QUALITY).
Default: 10
◆ PJMEDIA_HAS_OPUS_CODEC
#define PJMEDIA_HAS_OPUS_CODEC 0 |
Enable OPUS codec.
Default: 0
◆ PJMEDIA_CODEC_OPUS_DEFAULT_SAMPLE_RATE
#define PJMEDIA_CODEC_OPUS_DEFAULT_SAMPLE_RATE 48000 |
OPUS codec sample rate.
Default: 48000
◆ PJMEDIA_CODEC_OPUS_DEFAULT_BIT_RATE
#define PJMEDIA_CODEC_OPUS_DEFAULT_BIT_RATE 0 |
OPUS codec default maximum average bit rate.
Default: 0 (leave it to default value specified by Opus, which will take into account factors such as media content (speech/music), sample rate, channel count, etc).
◆ PJMEDIA_CODEC_OPUS_DEFAULT_COMPLEXITY
#define PJMEDIA_CODEC_OPUS_DEFAULT_COMPLEXITY 5 |
OPUS default encoding complexity, which is an integer from 0 to 10, where 0 is the lowest complexity and 10 is the highest.
Default: 5
◆ PJMEDIA_CODEC_OPUS_DEFAULT_CBR
#define PJMEDIA_CODEC_OPUS_DEFAULT_CBR PJ_FALSE |
OPUS default CBR (constant bit rate) setting
Default: PJ_FALSE (which means Opus will use VBR (variable bit rate))
◆ PJMEDIA_HAS_BCG729
#define PJMEDIA_HAS_BCG729 0 |
Enable G.729 codec using BCG729 backend.
Default: 0
◆ PJMEDIA_HAS_FFMPEG_CODEC
Specify if FFMPEG codecs are available.
Default: PJMEDIA_HAS_LIBAVFORMAT
◆ PJMEDIA_HAS_FFMPEG_VID_CODEC
Specify if FFMPEG video codecs are available.
Default: PJMEDIA_HAS_FFMPEG_CODEC
◆ PJMEDIA_HAS_FFMPEG_CODEC_H263P
Enable FFMPEG H263+/H263-1998 codec.
Default: 1
◆ PJMEDIA_HAS_FFMPEG_CODEC_H264
Enable FFMPEG H264 codec (requires libx264).
Default: disabled when OpenH264 is used, otherwise it is set to PJMEDIA_HAS_FFMPEG_VID_CODEC
◆ PJMEDIA_HAS_FFMPEG_CODEC_VP8
#define PJMEDIA_HAS_FFMPEG_CODEC_VP8 1 |
Enable FFMPEG VPX codec (requires libvpx)
◆ PJMEDIA_CODEC_OPENH264_LOG_LEVEL
#define PJMEDIA_CODEC_OPENH264_LOG_LEVEL WELS_LOG_ERROR |
Determine the log level of the native openH264 log which will be forwarded to the library's log. Set to WELS_LOG_QUIET to disable logging, or WELS_LOG_DETAIL for debugging.
Default: WELS_LOG_ERROR.
◆ PJMEDIA_HAS_VPX_CODEC_VP8
#define PJMEDIA_HAS_VPX_CODEC_VP8 1 |
Enable VPX VP8 codec.
Default: 1
◆ PJMEDIA_HAS_VPX_CODEC_VP9
#define PJMEDIA_HAS_VPX_CODEC_VP9 0 |
Enable VPX VP9 codec.
Default: 0 (disabled)
◆ PJMEDIA_HAS_AND_MEDIA_AMRNB
#define PJMEDIA_HAS_AND_MEDIA_AMRNB 1 |
Enable Android MediaCodec AMRNB codec.
Default: 1
◆ PJMEDIA_HAS_AND_MEDIA_AMRWB
#define PJMEDIA_HAS_AND_MEDIA_AMRWB 1 |
Enable Android MediaCodec AMRWB codec.
Default: 1
◆ PJMEDIA_HAS_AND_MEDIA_H264
#define PJMEDIA_HAS_AND_MEDIA_H264 1 |
Enable Android MediaCodec AVC/H264 codec.
Default: 1
◆ PJMEDIA_HAS_AND_MEDIA_VP8
#define PJMEDIA_HAS_AND_MEDIA_VP8 1 |
Enable Android MediaCodec VP8 codec.
Default: 1
◆ PJMEDIA_HAS_AND_MEDIA_VP9
#define PJMEDIA_HAS_AND_MEDIA_VP9 1 |
Enable Android MediaCodec VP9 codec.
Default: 1
◆ PJMEDIA_AND_MEDIA_PRIO_SW_VID_ENC
#define PJMEDIA_AND_MEDIA_PRIO_SW_VID_ENC 1 |
Prioritize to use software video encoder on Android MediaCodec. Set to 0 to prioritize Hardware encoder. Note: based on test, software encoder configuration provided the most stable configuration.
Default: 1
◆ PJMEDIA_AND_MEDIA_PRIO_SW_VID_DEC
#define PJMEDIA_AND_MEDIA_PRIO_SW_VID_DEC 1 |
Prioritize to use software video encoder on Android MediaCodec. Set to 0 to prioritize Hardware encoder. Note: based on test, software decoder configuration provided the most stable configuration.
Default: 1
◆ PJMEDIA_CODEC_VID_TOOLBOX_MAX_KEYFRAME_INTERVAL
#define PJMEDIA_CODEC_VID_TOOLBOX_MAX_KEYFRAME_INTERVAL 5 |
Maximum interval between keyframes for Apple VideoToolbox codecs, in second.
Default: 5 (seconds)
PJMEDIA small footprint Open Source media stack
Copyright (C) 2006-2008 Teluu Inc.
|