Skip to content

Commit 6c29a6c

Browse files
committed
added:get session str for rtsp client
1 parent 5101a10 commit 6c29a6c

File tree

6 files changed

+58
-2
lines changed

6 files changed

+58
-2
lines changed

XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Define.h

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,25 @@ extern "C" bool ModuleHelp_Rtsp_GetClient(LPCXSTR lpszClientID, int* pInt_RTPPor
290290
*********************************************************************/
291291
extern "C" bool ModuleHelp_Rtsp_SetSession(LPCXSTR lpszClientID, LPCXSTR lpszSessionStr);
292292
/********************************************************************
293+
函数名称:ModuleHelp_Rtsp_GetSession
294+
函数功能:获取一个会话ID
295+
参数.一:lpszClientID
296+
In/Out:In
297+
类型:常量字符指针
298+
可空:N
299+
意思:输入要处理的客户端ID
300+
参数.二:ptszSessionStr
301+
In/Out:Out
302+
类型:字符指针
303+
可空:N
304+
意思:输出获取到的会话ID
305+
返回值
306+
类型:逻辑型
307+
意思:是否成功
308+
备注:
309+
*********************************************************************/
310+
extern "C" bool ModuleHelp_Rtsp_GetSession(LPCXSTR lpszClientID, XCHAR* ptszSessionStr);
311+
/********************************************************************
293312
函数名称:ModuleHelp_Rtsp_SetSsrc
294313
函数功能:设置一个RTSP的RTP关联的SSRC
295314
参数.一:lpszClientID

XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Rtsp/ModuleHelp_Rtsp.cpp

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,38 @@ bool CModuleHelp_Rtsp::ModuleHelp_Rtsp_SetSession(LPCXSTR lpszClientID, LPCXSTR
243243
return true;
244244
}
245245
/********************************************************************
246+
函数名称:ModuleHelp_Rtsp_GetSession
247+
函数功能:获取一个会话ID
248+
参数.一:lpszClientID
249+
In/Out:In
250+
类型:常量字符指针
251+
可空:N
252+
意思:输入要处理的客户端ID
253+
参数.二:ptszSessionStr
254+
In/Out:Out
255+
类型:字符指针
256+
可空:N
257+
意思:输出获取到的会话ID
258+
返回值
259+
类型:逻辑型
260+
意思:是否成功
261+
备注:
262+
*********************************************************************/
263+
bool CModuleHelp_Rtsp::ModuleHelp_Rtsp_GetSession(LPCXSTR lpszClientID, XCHAR* ptszSessionStr)
264+
{
265+
ModuleHelp_IsErrorOccur = false;
266+
267+
unordered_map<string, RTSPPROTOCOL_CLIENTINFO>::iterator stl_MapIterator = stl_MapRTSPClient.find(lpszClientID);
268+
if (stl_MapIterator == stl_MapRTSPClient.end())
269+
{
270+
ModuleHelp_IsErrorOccur = true;
271+
ModuleHelp_dwErrorCode = ERROR_MODULE_HELP_RTSP_NOTFOUND;
272+
return false;
273+
}
274+
_tcsxcpy(ptszSessionStr, stl_MapIterator->second.tszSession);
275+
return true;
276+
}
277+
/********************************************************************
246278
函数名称:ModuleHelp_Rtsp_SetSsrc
247279
函数功能:设置一个RTSP的RTP关联的SSRC
248280
参数.一:lpszClientID

XEngine_Source/XEngine_ModuleHelp/ModuleHelp_Rtsp/ModuleHelp_Rtsp.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ class CModuleHelp_Rtsp
3636
bool ModuleHelp_Rtsp_SetClient(LPCXSTR lpszClientID, int nRTPPort, int nRTCPPort, int nTrackID);
3737
bool ModuleHelp_Rtsp_GetClient(LPCXSTR lpszClientID, int* pInt_RTPPort, int* pInt_RTCPPort, bool bVideo = true);
3838
bool ModuleHelp_Rtsp_SetSession(LPCXSTR lpszClientID, LPCXSTR lpszSessionStr);
39+
bool ModuleHelp_Rtsp_GetSession(LPCXSTR lpszClientID, XCHAR *ptszSessionStr);
3940
bool ModuleHelp_Rtsp_SetSsrc(LPCXSTR lpszClientID, LPCXSTR lpszSsrcStr, bool bVideo = true);
4041
protected:
4142
private:

XEngine_Source/XEngine_ModuleHelp/XEngine_ModuleHelp.def

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,5 @@ EXPORTS
1919
ModuleHelp_Rtsp_SetClient
2020
ModuleHelp_Rtsp_GetClient
2121
ModuleHelp_Rtsp_SetSession
22+
ModuleHelp_Rtsp_GetSession
2223
ModuleHelp_Rtsp_SetSsrc

XEngine_Source/XEngine_ModuleHelp/pch.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,10 @@ extern "C" bool ModuleHelp_Rtsp_SetSession(LPCXSTR lpszClientID, LPCXSTR lpszSes
9595
{
9696
return m_HelpRtsp.ModuleHelp_Rtsp_SetSession(lpszClientID, lpszSessionStr);
9797
}
98+
extern "C" bool ModuleHelp_Rtsp_GetSession(LPCXSTR lpszClientID, XCHAR * ptszSessionStr)
99+
{
100+
return m_HelpRtsp.ModuleHelp_Rtsp_GetSession(lpszClientID, ptszSessionStr);
101+
}
98102
extern "C" bool ModuleHelp_Rtsp_SetSsrc(LPCXSTR lpszClientID, LPCXSTR lpszSsrcStr, bool bVideo)
99103
{
100104
return m_HelpRtsp.ModuleHelp_Rtsp_SetSsrc(lpszClientID, lpszSsrcStr, bVideo);

XEngine_Source/XEngine_ServiceApp/XEngine_StreamMediaApp/StreamMedia_PullStream/PullStream_ClientMethod.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,10 +151,9 @@ bool PullStream_ClientMethod_Handle(RFCCOMPONENTS_HTTP_REQPARAM* pSt_HTTPParam,
151151
}
152152
else if (ENUM_RTSPPROTOCOL_METHOD_TYPE_SETUP == st_RTSPRequest.enMethod)
153153
{
154+
ModuleHelp_Rtsp_GetSession(lpszClientAddr, st_RTSPResponse.tszSession);
154155
ModuleHelp_Rtsp_SetClient(lpszClientAddr, st_RTSPRequest.st_TransportInfo.st_ClientPorts.nRTPPort, st_RTSPRequest.st_TransportInfo.st_ClientPorts.nRTCPPort, st_RTSPRequest.st_ChannelInfo.nChannelNumber);
155156

156-
157-
158157
st_RTSPResponse.st_TransportInfo.st_TransFlags.bAVP = true;
159158
st_RTSPResponse.st_TransportInfo.st_TransFlags.bRTP = true;
160159
st_RTSPResponse.st_TransportInfo.st_TransFlags.bUDP = true;

0 commit comments

Comments
 (0)