TSINGSEE青犀视频开发WebRTC使用VideoTrackSourceInterface编译报rtc::scoped_refptr<CustomVideoTrackSource>::ptr_错误

我们上一篇说到TSINGSEE青犀视频开发团队已经基本实现了WebRTC的视频推流和播放,还剩一些小问题需要我们优化。

我们使用VideoTrackInterfaceInterface类对WebRTC进行编译,在重写的该类时,程序编译崩溃报错:“初始化”:无法从“T *”转换为“T *”; “rtc::scoped_refptr::ptr_”:未能初始化成员。

我们双击该错误,定位到了该函数成员rtc::scoped_refptr,而rtc::scoped_refptr类是WebRTC的一个智能指针的方法,基本不可能出现该问题。

因此我们猜测是自身写的代码问题,在代码中CustomVideoTrackSource类和MyDesktopCapture类都重写了webrtc::VideoTrackInterfaceInterface。导致重写了二次方法,而rtc::scoped_refptr方法只要有一个重定义。

在删除其中一个MyDesktopCapture类和CustomVideoTrackSource类时,vs2017编译都会无问题。那么重写VideoTrackInterfaceInterface类时,就必须确保一个类重写,否则会导致该报错出现。

我们将会继续推动EasyCVR、EasyNVR、EasyGBS等平台对WebRTC的支持,如果大家有兴趣,欢迎联系我们了解或者关注我们。

原文地址:https://www.cnblogs.com/TSINGSEE/p/14309166.html