member由conference_function进入:
1、查找会议,
conference_video_parse_layouts:根据conference_layouts.conf 配置创建layouts,配置中的所有layout都加载,并存储在layout_hash中,最多8*8组
canvases[]每一个canvas都有一个timer
会议线程里做混音:从audio_buffer读取数据,通过switch_buffer_write将混音数据写入每个成员的omember->mux_buffer
4、如果是:MUX会议,则为每个成员创建用于混屏的video_queue,mux_out_queue对立。
5、将成员添加到会议室.
6、如果是:MUX会议,则
启动【video write back 线程】conference_video_launch_muxing_write_thread ,从自
1、查找会议,
如果会议不存在,则
2、创建会议,
创建会议画布conference_video_parse_layouts:根据conference_layouts.conf 配置创建layouts,配置中的所有layout都加载,并存储在layout_hash中,最多8*8组
canvases[]每一个canvas都有一个timer
如果是MUX,则【创建混屏线程】,在混屏线程中,video数据混屏后的数据丢入每个成员的mux_out_queue中,如果多cpu,则img刷新放到mux write线程,负责当前线程做。
会议线程里做混音:从audio_buffer读取数据,通过switch_buffer_write将混音数据写入每个成员的omember->mux_buffer
4、如果是:MUX会议,则为每个成员创建用于混屏的video_queue,mux_out_queue对立。
5、将成员添加到会议室.
6、如果是:MUX会议,则
启动【video write back 线程】conference_video_launch_muxing_write_thread ,从自