目录
1. 引言
从RtcEventLog的名称粗略看来是WebRTC中的事件日志系统,具体是做什么,如何做的,当前还未看全源码,所以不便下结论。比较确定的是RtcEventLog和WebRTC中RTC_LOG宏所输出的日志是不相干的两个系统。
主要的源码分布在api目录下,提供了接口类:

以及logging目录下,提供了具体的实现:

2. RtcEventLogFactory && RtcEventLog对象的创建
RtcEventLogFactory是事件日志对象的工厂类,负责RtcEventLog对象的创建,而RtcEventLog对象负责将Rtc事件写入到RtcEventLogOutput代表的日志文件或者其他输入设备中。
想要清楚的知道创建的RtcEventLog的实体类对象是什么,它具体的工作原理,那么需要追根究底的知道RtcEventLogFactory对象是何时,如何被创建的,什么时候被用来创建RtcEventLog的实体对象。
2.1 RtcEventLogFactory对象的创建
RtcEventLogFactory对象是一个WebRTC内部的实体对象,API层对象的接口是RtcEventLogFactoryInterface。
RtcEventLogFactory对象在WebRTC创建PeerConnectionFactory,调用的CreatePeerConnectionFactory方法中被创建出来并被PeerConnectionFactory持有。 注意,RtcEventLogFactory依赖的TaskQueueFactory也在该方法中被创建。
rtc::scoped_refptr<PeerConnectionFactoryInterface> CreatePeerConnectionFactory() {
..

本文深入探讨了WebRTC中的RtcEventLog机制,包括RtcEventLogFactory和RtcEventLog对象的创建过程,以及RtcEventLogImpl的具体实现。分析了PeerConnectionFactory在创建PeerConnection时如何调用CreateRtcEventLog方法来实例化RtcEventLog对象,详细解释了RtcEventLog的编码类型选择和事件日志系统的整体工作流程。
最低0.47元/天 解锁文章
1197





