TSINGSEE青犀视频云边端架构平台在C++编译WebRTC推视频流内存泄漏问题的处理

我们前面讲到过TSINGSEE青犀视频团队目前正在做webrtc的编译测试,在编译期间我们已经解决过不少问题,但是对于一个新工具开发和测试,我们还是在不断的探索中。

WebRTC.png

我们在测试webrtc期间,使用Visual Leak Detector来检查c++的内存泄漏,出现有1256处内存泄漏,总共537104个字节,内存泄露还是有点严重的,因此我们要解决该问题,适时释放持有资源。

105.png

在用webrtc写代码时,我们团队对webrtc机制的了解还有待提高,因此目前只是通过webrtc实现了我们需要的功能,但是对于如何释放资源还不是很了解。我们查询了相关资料,了解到webrtc视频都会创建个计数指针scoped_refptr,如下图:

106.png

webrtc中释放资源使用的是计数指针scoped_refptr中释放资源的函数,比较常见的是Release()和release()这两种方法,但这两种方法不能够完全释放,因此我们还要通过其他方法实现。

我们可以用到nullptr函数,nullptr是c++中空指针类型的关键字,如果要释放资源那么就直接赋值为nullptr。

TSINGSEE青犀视频研发团队基于webrtc编译了EasyRTC企业视频网页通话会议系统,在未来也会开发更多webrtc为基础的视频解决方案。如果大家有兴趣欢迎联系我们了解,如果还想与我们交流更多编译相关问题,欢迎关注我们。

RTC1.png

猜你喜欢

转载自blog.csdn.net/Black_3717/article/details/112363230