繁体   English   中英

关于pjsip中的G729集成

[英]Regarding G729 integration in pjsip

我正在查询这个问题,因为我不是C专家。看看有没有解决它的人可以帮忙。我正在将g729集成到pjsip lib中,并且从这里得到了g729编解码器文件。 这里我遵循的步骤是:

首先,我将g729在“ pjmedia / src / pjmedia-codec / audio_codecs.c”中注册

#if PJMEDIA_HAS_G729_CODEC
    /* Register G729 */
    status = pjmedia_codec_g729_init(endpt);
    if (status != PJ_SUCCESS){

    return status;
     }
#endif

现在,根据我的知识,我必须将两个文件“ pj_g729.c”和“ pj_g729.h”复制到pjsip lib中。 因此,我已在“ / root / pjsip / trunk_2_allloweversionsuccess_and_widssl_g729 / pjmedia / include / pjmedia-codec”中的“ pjmedia / src / pjmedia-codec”和“ pj_g729.h”中复制了“ pj_g729.c”。

完成此操作后,我正在运行以给出错误消息:'状态为pjmedia_codec_g729_init(endpt);的未定义引用。

我也对'PJMEDIA_HAS_G729_CODEC'表示怀疑,因为我没有在库中声明此变量。所以我必须声明它吗?我在很长的时间里一直在努力,任何帮助都将是有意义的。

您可以按照g7221在pjsip中的添加步骤进行操作。查找g722中提到的文件,并为g729编解码器添加额外的行。您可以将g729.a文件粘贴到pjsip的第三方库中。

从编译器看到带有错误的行这一事实出发,可以得出PJMEDIA_HAS_G729_CODEC ,实际上在某个地方定义了PJMEDIA_HAS_G729_CODEC 否则,该行将被完全跳过。

问题是在C中,头文件必须是#include d才能声明函数。 这将连接两个源文件。 这里audio_codecs.cpj_g729.c都应包含pj_g729.h

您需要将pj_g729.h包含到pjmedia-codec.h中。

#include <pjmedia-codec/pj_g729.h>

这会将g729头文件包含到pjmedia-codec.h头中,并避免在status = pjmedia_codec_g729_init(endpt);'时出现未定义引用的错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM