EasyDarwin Rtsp流转发(二)
来源:互联网 发布:java思想 编辑:程序博客网 时间:2024/06/07 17:32
出差一周~
接第一篇:
在 QTSSCallbacks::QTSS_ReflectRTPTrackData 中:
for (; fCurrentModule < numModules; fCurrentModule++)
{
QTSSModule* theModule = QTSServerInterface::GetModule(QTSSModule::kRTSPRelayingDataRole, fCurrentModule);
(void)theModule->CallDispatch(QTSS_RTSPRelayingData_Role, &packetParams);
}
GetMoudle从 sModuleArray中获取QTSSModule对象。
调用CallDispatch 进行数据的分发,具体的数据 packetParams。
(fDispatchFunc)(inRole, inParams) ==QTSSOnDemandRelayModuleDispatch
这个函数主要是一个swicth 语句,根据上面传下来的 QTSS_RTSPRelayingData_Role 调用了 ProcessRelayRTPData 进行具体的流对象处理
RTSPRelaySession* relaySes = (RTSPRelaySession*)inParams->inRTSPSession;
取出 theSession ,theSession中至少包含一组流。
theStream = theSession->GetStreamByIndex(inIndex);
循环取出每一组流,分别调用PushPacket
在pushpacket 中,计算时间并且调用 Bool16 ReflectorSocket::ProcessPacket 送入 theSender->fPacketQueue.EnQueue(&thePacket->fQueueElem);队列中。至此这个线程完成所以工作。
fSockets->GetSocketA() RTP
fSockets->GetSocketB() RTCP
- EasyDarwin Rtsp流转发(二)
- EasyDarwin Rtsp流转发(一)
- EasyDarwin Rtsp流转发(三)
- ffmpeg(二) 网络流转发
- 用VLC读取摄像头产生RTSP流,DSS主动取流转发(一)
- 用VLC读取摄像头产生RTSP流,DSS主动取流转发(一)
- 用VLC读取摄像头产生RTSP流,DSS主动取流转发(一)
- EasyDarwin搭建rtsp服务器
- RTSP服务器(二)
- RTSP服务器(二)
- 【EasyDarwin】RTSP视频转发服务器搭建
- 从零开始学习EasyDarwin(RTSP连接监听初始化)
- 从零开始学习EasyDarwin(RTSP之EventThread)
- 从零开始学习EasyDarwin(RTSP之TaskThread)
- 从零开始学习EasyDarwin(RTSP之EventThread)
- 从零开始学习EasyDarwin(RTSP连接监听初始化)
- 从零开始学习EasyDarwin(RTSP之TaskThread)
- RTSP协议分析(二)
- 锦标赛【NOIP2016提高A组模拟7.17】
- Python学习
- Wamp---配置多站点
- 利用Github提交代码
- 通过注册表获取应用程序的路径
- EasyDarwin Rtsp流转发(二)
- python学习——hashlib
- java基础--07成员变量和局部变量
- lavarel框架中发送邮件配置及代码
- 作业二
- hibernate3之核心组件session(1)
- 关于mysql一些问题。
- web--浏览器兼容性问题
- DM365 spi_norflash无操作系统启动和sys_bios启动(三)