WebRTC源码分析——RtcEventLog事件日志模块

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

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() {
   
   
                                                   ..
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值