WebRTC代码走读(九):VoiceEngine和VideoEngine主要的控制类说明

转载注明出处http://blog.csdn.net/wanghorse

1. VideoEngineImpl

VideoEngine对外提供的集成接口实现类, 其继承了VideoEngine对外提供的所有接口实现类,包括

ViEBaseImpl/ViECaptureImpl/ViEFileImpl/ViEImageProcessImpl/ViENetworkImpl/ViERTP_RTCPImpl/ViEExternalCodecImpl/VideoEngine


2. ViEBaseImpl

VideoEngine对外提供的操作类,基本都有此类提供,如创建删除通道、开始停止发送、开始停止接受等


3. ViEChannel
VideoEngine的channel类,一个视频收发通道一个VieChannel对象, 管理channel的信息,管理ModuleRtpRtcpImpl,VideoCodingModuleImpl

负责channel处理流程控制,如开始发送、接受等;音频通道的链接


4. ViEEncoder

类似ViEChannel,在某些应用场景下可以替换VieChannel;但只负责发送Channel


5. ViERenderImpl

VideoEngine的Render流程控制类,控制Render的流程,如启动、暂停,处理回调数据,管理具体的Render操作类; 注册进VieChannel


6. ViECaptureImpl
VideoEngine中Capture的流程控制类,控制Capture流程,管理具体的Capture操作类,和VIEEncoder关联起来



7. VoiceEngineImpl
VoiceEngine对外提供的集成接口类,其集成了VoiceEngine对外提供的所有接口实现类,包括

VoEAudioProcessingImpl/VoECodecImpl/VoEDtmfImpl/VoEExternalMediaImpl/VoEFileImpl/VoEHardwareImpl/VoENetEqStatsImpl/VoENetworkImpl/VoERTP_RTCPImpl/VoEVideoSyncImpl/VoEVolumeControlImpl/VoEBaseImpl


8. VoEBaseImpl
VoiceEngine对外提供的基本操作类,包括创建删除通道,开始停止发送,开始停止接受等; 管理放音设备和采集设备

其继承AudioTransport类,还需处理抓取的音频(送至channel中),和需要放音的音频(从channel中取)


9. Channel
VoiceEngine的channel类,一个音频收发通道一个Channel对象,管理channel的信息,管理AudioCodingModule,ModuleRtpRtcpImpl,AudioProcessing等
控制channel的处理流程

你可能感兴趣的:(视频,video,WebRTC,audio,音频)