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

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

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

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

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

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

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

  • 相关阅读:
    cds.data:=dsp.data赋值有时会出现AV错误剖析
    iOS -- 十进制、十六进制字符串,byte,data等之间的转换
    iOS -- 原生NSStream实现socket
    CA认证原理以及实现(下)
    CA认证原理以及实现(上)
    android -- 存储byte
    iOS -- 字符串(NSString *)转uint8_t的两种方法
    Android -- AsyncTask 使用和缺陷
    Swift oc 混编
    Android -- native关键字
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/14202591.html
Copyright © 2011-2022 走看看