在线程中调用PJSIP中的呼叫出现提示注册线程pj_thread_register的解决方法
在PJSIP的相关函数中(例如pjsua_call_make_call等),都增加了线程注册的判断,
下面以pjsua_call_make_call为例说明:
如果执行pjsua_call_make_call的线程没有在pjsip中注册过,就会assert中断,提示未知线程,需要使用pj_thread_register注册才可以
所以我们只要在线程中先执行以下注册代码,然后再执行pjsua_call_make_call就可以了
//线程注册
pj_status_t pjcall_thread_register(void)
{ static pj_thread_desc desc; pj_thread_t* thread = 0; if (!pj_thread_is_registered()) { return pj_thread_register(NULL, desc, &thread); } return PJ_SUCCESS;
}
//呼叫线程
DWORD WINAPI CallThreadProc( LPVOID pParam )
{ pjcall_thread_register();//首先注册当前线程
onCallByTwoNumber((WPARAM)pParam, NULL);//该函数内部执行了pjsua_call_make_call就不会报错了return 0;
}
在线程中调用PJSIP中的呼叫出现提示注册线程pj_thread_register的解决方法相关推荐
- 天马行空W:在C++中调用DLL中的函数
1.dll的优点 代码复用是提高软件开发效率的重要途径.一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用.比较常见的例子是各种应用程序框架,ATL.MFC等 ...
- 在C++中调用DLL中的函数
1.dll的优点 代码复用是提高软件开发效率的重要途径.一般而言,只要某部分代码具有通用性,就可将它构造成相对独立的功能模块并在之后的项目中重复使用.比较常见的例子是各种应用程序框架,ATL.MFC等 ...
- 在form2中调用form1中的方法并改变form1中控件值的另一种方法
在窗体编程中,经常碰到到要在form2中调用form1中的方法并改变form1中控件值,但是又不能用new form1这种方法,因为这是生成一个实例. 网上有些说法是用委托和事件,笔者尝试没有成功,可 ...
- oracle中“ORA-00060: 等待资源时检测到死锁” 或存储过程编译卡死 解决方法
oracle中"ORA-00060: 等待资源时检测到死锁" 或存储过程编译卡死 解决方法 参考文章: (1)oracle中"ORA-00060: 等待资源时检测到死锁& ...
- linux 安装程序丢失链接动态库,Linux安装软件过程中提示缺少动态链接库.so的解决方法...
Linux在安装软件的时候有时会出现错误,提示缺少动态链接库.so,该问题是由什么原因导致的呢? 情况分析: 1.缺少动态连接库.so-cannot open shared object file:N ...
- Proxmox VE中出现TASK ERROR: command ‘apt-get update‘ failed: exit code 100的解决方法
Proxmox VE中出现TASK ERROR: command 'apt-get update' failed: exit code 100的解决方法 参考文章: (1)Proxmox VE中出现T ...
- iOS中 H5的input输入框focus()无法自动拉起键盘(解决方法)
iOS中 H5的input输入框focus()无法自动拉起键盘(解决方法) 参考文章: (1)iOS中 H5的input输入框focus()无法自动拉起键盘(解决方法) (2)https://www. ...
- VS2017 启动调试出现 无法启动程序“http://localhost:15613” 操作在当前状态中是非法的。 同时附加进程也是错误的解决方法
VS2017 启动调试出现 无法启动程序"http://localhost:15613" 操作在当前状态中是非法的. 同时附加进程也是错误的解决方法 参考文章: (1)VS2017 ...
- ios系统微信浏览器、safari浏览器中h5页面上拉下滑导致悬浮层脱离窗口的解决方法
ios系统微信浏览器.safari浏览器中h5页面上拉下滑导致悬浮层脱离窗口的解决方法 参考文章: (1)ios系统微信浏览器.safari浏览器中h5页面上拉下滑导致悬浮层脱离窗口的解决方法 (2) ...
最新文章
- 运维需要掌握的基础知识
- MongoDB 分页查询的方法及性能
- 手机游戏美术外包的四大优点及三大建议
- javascript功能_最新版本JavaScript仅具有2个新功能。 这是他们的工作方式。
- 用Semisynchronous Replication半同步,mk-table-checksum数据同步一致性检查,监控主从同步运行状态的脚本等方式加强SQL性能和数据审核...
- 五、概念数据模型(CDM生成LDM,PDM和OOM)
- 内存对齐的规则与作用
- Android--记录莫名其妙的引用、依赖冲突解决办法
- Jsp 中taglib标签的妙用
- AutoCAD工具栏中没有工具栏选项
- 你还发现了CSDN那些变化
- [分享].Net脱壳利器de4dot介绍
- 导数定义考法一网打尽
- python查看mac的usb信息_Python实现的读取电脑硬件信息功能示例
- 联想340c笔记本cpu能升级吗_笔记本电脑可以升级CPU吗
- 用Android和node.js实现扫码登录
- 通过GitHub静态网页托管,十分钟制作一份精美的在线网页简历
- Rocky——CentOS的延续(原版开发人员)安装与安装后必要操作(个人版)
- SpringCloud的实用篇
- 中兴捧月比特派E题——反复横跳