关于G729在pjsip中的集成
Regarding G729 integration in pjsip
我正在查询这个问题,因为我不是C语言专家。看看是否有人在它周围工作可以帮助。我在pjsip库中集成g729,我从这里得到了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库中复制。所以我复制了'pj_g729.c'在'pjmedia/src/pjmedia-codec','pj_g729.h' in '/root/pjsip/trunk_2_allloweversionsuccess_and_widssl_g729/pjmedia/include/pjmedia-codec'.
在这样做之后,我运行使它给出错误:'未定义的引用在状态= pjmedia_codec_g729_init(endpt);'.
我也怀疑'PJMEDIA_HAS_G729_CODEC',因为我没有发现这个变量在库中声明。所以我必须申报吗??我为此挣扎了很长时间。
您可以按照在pjsip中添加g7221的步骤进行操作。找出g722提到的文件,并为g729编解码器添加额外的行。你可以粘贴g729。pjsip.
第三方库中的文件
从编译器看到错误行的事实来看,PJMEDIA_HAS_G729_CODEC
实际上是在某个地方定义的。否则该行会被直接跳过。
问题是,在C中,头文件必须是#include
d来声明函数。这将连接两个源文件。这里audio_codecs.c
和pj_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);'的未定义引用错误。
- 将公共但非静态的成员函数与ALGLIB集成
- 将IBM Rhapsody模型集成到VS 2019中
- 从R调用C++函数并对其进行集成时出错
- 如何集成 HID USB 控制器?
- 在VS2019项目中集成ImageMagick:x64-windows-static library
- 将Qt集成到现有的VS项目中以取代WinAPI
- 将 Crashpad 与 Windows Qt 应用程序集成
- Python3.6 模板中的 CGAL C++ 集成错误
- 基本 Cuda C++项目集成问题
- 如何使用CMake将QtMultimedia组件集成到项目中?
- 在 Mac OS 中将 QT 与 CMAKE 集成
- 使用 GSL 库制作样条曲线并使用它们进行集成
- 在集成终端上运行vscode lldb调试器时,如何获取程序的输出?
- 将Emscripten集成到Clion中
- VIsual Studio:避免控制台弹出,而是将其集成到IDE中
- 如何在electrolon项目中集成qt原生窗口
- 与 boost odeint 集成期间的析构函数调用
- C++uWebSockets将事件循环集成到一个线程中
- C++ 项目在 Jenkins 中的持续集成
- 关于G729在pjsip中的集成