OSRefTable* sSessionMap //全局变量存储所有的ReflectorSession
ReflectorSession* FindOrCreateSessionReflectorSession* FindOrCreateSession(StrPtrLen* inPath, QTSS_StandardRTSP_Params* inParams, StrPtrLen* inData, Bool16 isPush, Bool16 *foundSessionPtr)
theSession = NEW ReflectorSession(inPath);//根据url路径创建ReflectorSession
#0 0x0000000000451f2f in ReflectorSocket::AddSender(ReflectorSender*) ()
#1 0x00000000004520fa in ReflectorStream::BindSockets(QTSS_StandardRTSP_Params*, unsigned int, unsigned short, unsigned int) ()
#2 0x000000000044e0ea in ReflectorSession::SetupReflectorSession(SourceInfo*, QTSS_StandardRTSP_Params*, unsigned int, unsigned short, unsigned int) ()
#3 0x000000000044226f in FindOrCreateSession(StrPtrLen*, QTSS_StandardRTSP_Params*, StrPtrLen*, unsigned short, unsigned short*) ()
#4 0x000000000044252c in DoSessionSetup(QTSS_StandardRTSP_Params*, int, unsigned short, unsigned short*, char**) ()
#5 0x000000000044317e in DoSetup ()
#6 0x0000000000444d60 in ProcessRTSPRequest ()
#7 0x0000000000445ae0 in QTSSReflectorModuleDispatch(unsigned int, QTSS_RoleParams*) ()
#8 0x000000000049f105 in RTSPSession::Run() ()
#9 0x00000000004b0aee in TaskThread::Entry() ()
#10 0x00000000004ab1df in OSThread::_Entry(void*) ()
#11 0x00007fdb5b762182 in start_thread (arg=0x7fdb5472b700) at pthread_create.c:312
#12 0x00007fdb5a83247d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
服务端添加播放端
#0 0x000000000044f792 in ReflectorStream::AddOutput(ReflectorOutput*, int) ()
#1 0x000000000044e70a in ReflectorSession::AddOutput(ReflectorOutput*, unsigned short) ()
#2 0x0000000000442c45 in DoSetup ()
#3 0x0000000000444d40 in ProcessRTSPRequest ()
#4 0x0000000000445ac0 in QTSSReflectorModuleDispatch(unsigned int, QTSS_RoleParams*) ()
#5 0x000000000049f135 in RTSPSession::Run() ()
#6 0x00000000004b0b6e in TaskThread::Entry() ()
#7 0x00000000004ab25f in OSThread::_Entry(void*) ()
#8 0x00007f57d7202182 in start_thread (arg=0x7f57d09cc700) at pthread_create.c:312
#9 0x00007f57d62d247d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
推送端-> 服务器
#0 0x0000000000452a30 in ReflectorSocket::ProcessPacket(long const&, ReflectorPacket*, unsigned int, unsigned short) ()
#1 0x00000000004531ee in ReflectorStream::PushPacket(char*, unsigned int, unsigned short) ()
#2 0x0000000000440f18 in ProcessRTPData(QTSS_IncomingData_Params*) [clone .isra.19] ()
#3 0x00000000004459fc in QTSSReflectorModuleDispatch(unsigned int, QTSS_RoleParams*) ()
#4 0x000000000049e8c3 in RTSPSession::HandleIncomingDataPacket() ()
#5 0x000000000049f640 in RTSPSession::Run() ()
#6 0x00000000004b0afe in TaskThread::Entry() ()
#7 0x00000000004ab1ef in OSThread::_Entry(void*) ()
#8 0x00007f5926b6d182 in start_thread (arg=0x7f591fb36700) at pthread_create.c:312
#9 0x00007f5925c3d47d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
服务器->播放端
#0 0x0000000000451369 in ReflectorSender::ReflectPackets(long*, OSQueue*) ()
#1 0x00000000004533fc in ReflectorSocket::Run() ()
#2 0x00000000004b0afe in TaskThread::Entry() ()
#3 0x00000000004ab1ef in OSThread::_Entry(void*) ()
#4 0x00007f1dd95f4182 in start_thread (arg=0x7f1dd45c1700) at pthread_create.c:312
#5 0x00007f1dd86c447d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
ReflectorSession* FindOrCreateSessionReflectorSession* FindOrCreateSession(StrPtrLen* inPath, QTSS_StandardRTSP_Params* inParams, StrPtrLen* inData, Bool16 isPush, Bool16 *foundSessionPtr)
theSession = NEW ReflectorSession(inPath);//根据url路径创建ReflectorSession
ReflectorSession 1:n ReflectorStream
#0 0x0000000000451f2f in ReflectorSocket::AddSender(ReflectorSender*) ()
#1 0x00000000004520fa in ReflectorStream::BindSockets(QTSS_StandardRTSP_Params*, unsigned int, unsigned short, unsigned int) ()
#2 0x000000000044e0ea in ReflectorSession::SetupReflectorSession(SourceInfo*, QTSS_StandardRTSP_Params*, unsigned int, unsigned short, unsigned int) ()
#3 0x000000000044226f in FindOrCreateSession(StrPtrLen*, QTSS_StandardRTSP_Params*, StrPtrLen*, unsigned short, unsigned short*) ()
#4 0x000000000044252c in DoSessionSetup(QTSS_StandardRTSP_Params*, int, unsigned short, unsigned short*, char**) ()
#5 0x000000000044317e in DoSetup ()
#6 0x0000000000444d60 in ProcessRTSPRequest ()
#7 0x0000000000445ae0 in QTSSReflectorModuleDispatch(unsigned int, QTSS_RoleParams*) ()
#8 0x000000000049f105 in RTSPSession::Run() ()
#9 0x00000000004b0aee in TaskThread::Entry() ()
#10 0x00000000004ab1df in OSThread::_Entry(void*) ()
#11 0x00007fdb5b762182 in start_thread (arg=0x7fdb5472b700) at pthread_create.c:312
#12 0x00007fdb5a83247d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
服务端添加播放端
#0 0x000000000044f792 in ReflectorStream::AddOutput(ReflectorOutput*, int) ()
#1 0x000000000044e70a in ReflectorSession::AddOutput(ReflectorOutput*, unsigned short) ()
#2 0x0000000000442c45 in DoSetup ()
#3 0x0000000000444d40 in ProcessRTSPRequest ()
#4 0x0000000000445ac0 in QTSSReflectorModuleDispatch(unsigned int, QTSS_RoleParams*) ()
#5 0x000000000049f135 in RTSPSession::Run() ()
#6 0x00000000004b0b6e in TaskThread::Entry() ()
#7 0x00000000004ab25f in OSThread::_Entry(void*) ()
#8 0x00007f57d7202182 in start_thread (arg=0x7f57d09cc700) at pthread_create.c:312
#9 0x00007f57d62d247d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
推送端-> 服务器
#0 0x0000000000452a30 in ReflectorSocket::ProcessPacket(long const&, ReflectorPacket*, unsigned int, unsigned short) ()
#1 0x00000000004531ee in ReflectorStream::PushPacket(char*, unsigned int, unsigned short) ()
#2 0x0000000000440f18 in ProcessRTPData(QTSS_IncomingData_Params*) [clone .isra.19] ()
#3 0x00000000004459fc in QTSSReflectorModuleDispatch(unsigned int, QTSS_RoleParams*) ()
#4 0x000000000049e8c3 in RTSPSession::HandleIncomingDataPacket() ()
#5 0x000000000049f640 in RTSPSession::Run() ()
#6 0x00000000004b0afe in TaskThread::Entry() ()
#7 0x00000000004ab1ef in OSThread::_Entry(void*) ()
#8 0x00007f5926b6d182 in start_thread (arg=0x7f591fb36700) at pthread_create.c:312
#9 0x00007f5925c3d47d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
服务器->播放端
#0 0x0000000000451369 in ReflectorSender::ReflectPackets(long*, OSQueue*) ()
#1 0x00000000004533fc in ReflectorSocket::Run() ()
#2 0x00000000004b0afe in TaskThread::Entry() ()
#3 0x00000000004ab1ef in OSThread::_Entry(void*) ()
#4 0x00007f1dd95f4182 in start_thread (arg=0x7f1dd45c1700) at pthread_create.c:312
#5 0x00007f1dd86c447d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111