相关的类 VideoRender,VideoRenderCallback,IncomingVideoStream,VideoRenderDirect3D9,D3D9Channel
VideoRender 本类为rtc提供的用来在某个特定窗口渲染yuv数据的类,本类可以在ios,android,linux,windows上渲染图像,同时提供了在窗口上绘制文本,设置各种背景图的功能。
Windows 下 VideoRender 会生成一个 VideoRenderDirect3D9 的实例,这个实例里面包含了多个 D3D9Channel(std::map<int, D3D9Channel*> _d3dChannels),这个通道就继承自VideoRenderCallback, 这些channel通过流id来区分, AddIncomingRenderStream 会调用CreateChannel创建新的channel
此处涉及到的设计模式和技术点,我会单独找一篇文章来说明设计模式在webrtc中的应用
- 创建
通过传入一个窗口的句柄来确认在哪个窗口绘制
/*
* Create a video render module object
*
* id - unique identifier of this video render module object
* window - pointer to the window to render to
* fulls