将G729编码加入Pjsip只需以下步骤
1.下载PJSIP官方的源码,并解压好
2. 进入pjmedia/build/os-auto.mak.in,增加以下代码
ifeq ($(AC_NO_G729_CODEC),1)
export CFLAGS += -DPJMEDIA_HAS_G729_CODEC=0
else
export CODEC_OBJS += g729.o g729/acelp_ca.o g729/cod_ld8a.o g729/dec_gain.o g729/dspfunc.o g729/g729a_encoder.o g729/lpcfunc.o g729/oper_32b.o g729/post_pro.o g729/pre_proc.o g729/round.o g729/util.o g729/basic_op.o g729/cor_func.o g729/dec_lag3.o g729/filter.o g729/gainpred.o g729/lspdec.o g729/pitch_a.o g729/p_parity.o g729/qua_gain.o g729/tab_ld8a.o g729/bits.o g729/de_acelp.o g729/dec_ld8a.o g729/g729a_decoder.o g729/lpc.o g729/lspgetq.o g729/postfilt.o g729/pred_lt3.o g729/qua_lsp.o g729/taming.o
endif
3.进入pjmedia/build/Makefile,增加以下代码
G729_CFLAGS:=-I$(PJDIR)/pjmedia/src/pjmedia-codec/g729
还是pjmedia/build/Makefile这个文件,修改以下代码
export PJMEDIA_CODEC_CFLAGS += $(_CFLAGS) $(GSM_CFLAGS) $(SPEEX_CFLAGS) \
$(ILBC_CFLAGS) $(IPP_CFLAGS) $(G7221_CFLAGS) $(G729_CFLAGS)
export PJMEDIA_CODEC_CXXFLAGS += $(_CXXFLAGS) $(GSM_CFLAGS) $(SPEEX_CFLAGS) \
$(ILBC_CFLAGS) $(IPP_CFLAGS) $(G7221_CFLAGS) $(G729_CFLAGS)
4.进入pjmedia/src/pjmedia-codec/audio-codecs.c,增加以下代码
#if PJMEDIA_HAS_G729_CODEC
status = pjmedia_codec_g729_init(endpt);
if (status != PJ_SUCCESS) {
return status;
}
#endif /* PJMEDIA_HAS_G729_CODEC */
5.把附件里的g729.c移入到pjmedia/src/pjmedia-codec/g729.c
6.把附件里的g729.h移入到pjmedia/include/pjmedia-codec/g729.h
7.把附件里的g729文件夹移入到pjmedia/src/pjmedia-codec/g729
附件下载地址:http://download.csdn.net/download/xu404741377/10242389