Flutter WebRTC视频通话挂断后EglRenderer Duration日志持续输出问题
Flutter WebRTC 挂断后EglRenderer日志持续输出修复方案
该问题根因为通话结束后EglRenderer相关渲染资源未被正确释放,底层渲染线程仍在持续运行、输出帧耗时日志,可按照以下步骤修复:
- 第一步:主动解绑视频轨道与渲染器的绑定关系
// 清空本地渲染器绑定的视频流 localRenderer?.srcObject = null; // 清空远端渲染器绑定的视频流 remoteRenderer?.srcObject = null;
- 第二步:销毁渲染器实例
localRenderer?.dispose(); remoteRenderer?.dispose(); localRenderer = null; remoteRenderer = null;
- 第三步:完全释放PeerConnection资源
peerConnection?.close(); peerConnection?.dispose(); peerConnection = null;
- 额外适配项:iOS端出现该问题时,需额外确认没有全局强持有
EglContext实例,释放渲染器的同时需清空全局持有EglContext的引用。
完成以上操作后,EglRenderer对应的渲染线程会自动终止,相关Duration日志即可停止输出。
内容的提问来源于stack exchange,提问作者Sayed Main Uddin
相关产品推荐
相关产品推荐

